Mit Samba lassen sich für PCs mit Windows Betriebsystem Dateien zentral auf dem Server verwalten. Zudem kann man die Benutzer und deren Profile zentral verwalten. Samba ist eine grosses und oft eingesetztes OpenSource Projekt im Unixumfeld.
Die Einstellungen für Samba werden in der Datei /etc/samba/smb.conf vorgenommen. Eine Beispieldatei mit Erklärungen kann online angesehen werden. smb.conf
Ob alle Parameter richtig eingegeben wurden, gibt das Kommando testparm Auskunft. Wenn alles in Ordnung ist kann Samba neu gestartet werden, da es nach der Installation bereits läuft.
/etc/init.d/samba restart
Meistens reicht anstelle von restart auch ein reload.
Ohne zu joinen ist es nicht möglich net Befehle auszuführen. Daher tragen wir den aktuellen Rechner, als Samba selber, gleich als Administrator ein. Das Passwort muss nicht zwingend hinten angehängt werden. Wird es weggelassen, so fragt die Konsole nach. Man muss aber vor dem “join”-Befehl natürlich noch den Benutzer ‘administrator’ anlegen, mit einem Passwort versehen und im smb.conf den Benutzer administrator auf der Zeile “admin users =” eintragen. Natürlich kann der Adminuser auch anders heissen, Administrator ist keine zwingende Vorgabe.
net rpc join -U administrator%secret
Damit ein Windowsuser Zugriff auf den Fileserver erhält, sollte der Benutzername und Passwort mit den eingegebenen Werten an der Workstation übereinstimmen, sonst muss bei einem Zugriff auf ein Netzwerkverzeichnis immer nochmals Benutzername und Passwort eingegeben werden. Dies lässt sich natürlich mit einem PDC und Arbeitsplätzen als Mitglieder eleganter lösen, dazu später mehr.
Es reicht allerdings nicht, nur ein Sambauser zu verwenden, jeder Benutzer muss ein entsprechendes Pendant als Unixuser haben, damit die Zugriffsrechte geregelt werden können. Es ist zwar möglich, mit einem Groupmapping auf reale Unixuser zu verzichten, das machen wir hier aber nicht.
# Unixuser anlegen useradd -m -s /bin/false -g 100 -c "Hans Muster" muster
Ich füge meistens alle Benutzer der Gruppe users bei. Das erleichtert die Verwaltung.
# Samba-Passwort eingeben smbpasswd -a muster
Ein Sambauser hat auf einem Rechner, welcher ein Domänenmitglied ist nur Standardrechte. Wenn man einem Benutzer mehr Rechte geben möchte, zum Beispiel als Domänenadmin, dann muss man Windows mitteilen, dass der Benutzer Mitglied bei der speziellen Gruppe “Domain Admin” ist.
Mit dem Groupmapping werden Unixgruppen auf Windowsgruppen abgebildet. So kann man zentral die Benutzerrechte einzelner User bzw. Gruppen steuern. Es gibt verschiedene vorgebene Gruppen. Ich erkläre anhand einer Gruppe das Prinzip.
Zuerst benötigen wir eine Unixgruppe, in welcher wir die Benutzer mit Adminrechten zusammenfassen können.
addgroup domadmin
Nun können wir die gewünschten Benutzer hinzufügen.
adduser muster domadmin
Jetzt teilen wir Samba mit welche Unixgruppe für die Windowsgruppe “Domain Admins” zuständig ist.
net groupmap add ntgroup="Domain Admins" unixgroup=domadmin rid=512
Mit dem Befehl list können wir überprüfen, ob die Gruppe richtig eingetragen wurde und ob es bereits andere Einträge gibt.
net groupmap list
Falls es mit der Eintrag nicht funktioniert, oder bereit ein falscher Eintrag vorhanden ist, kann dieser auch wieder gelöscht werden.
net groupmap delete ntgroup="Domain Admins"
Nun kann man allen Usern die auf Ihren Windows Arbeitsplätzen Administrationsrechte benötigen über die Gruppenmitgliedschaft ‘domadmin’ die Rechte zukommen lassen. Dies gilt aber nur für Arbeitsplätze, welche in der Domäne Mitglied sind!
siehe auch:
Wenn bereits Benutzerprofile existieren, welche auch in der neuen Sambadomäne weiter verwendet werden sollen, müssen wir diese VOR dem Domänenbeitritt migrieren. Ansonsten können wir die Windows interne Kopierfunktion nicht mehr verwenden.
Eine detailierte Migrationsanleitung findet sich unter: Profile migrieren
Damit ein Windowsarbeitsplatz Mitglied einer Domäne ist, muss man den Rechner dafür beim Sambaserver anmelden. Ein PC kann nur in einer Domäne Mitglied sein. Falls noch lokal gespeicherte Profile aus der alten Domäne vorhanden sind, welche auf die neue Domäne migriert werden müssen, so müssen diese VOR dem Domänenwechsel migriert werden!
Die Einstellung erfolgt unter Arbeitsplatz → Eigenschaften → Computername.
Klickt man auf den Button Ändern kann im folgenden Dialog der Name der Domäne eingegeben werden.
Man muss beachten, dass nicht gleichzeitig der Computername und die Domäne geändert werden kann! Wenn auch der Arbeitsplatzname geändert werden soll, muss man vor dem Domänenbeitritt den Namen ändern. Dies erfordert einen Neustart. Danach kann man im selben Dialog auch noch die Domäne eingeben.
Jetzt muss man sich am Sambaserver mit einem Benutzernamen anmelden, welcher Domänenadministrator ist.
Falls der Beitritt nicht möglich ist, kann es sein, dass noch Netzlaufwerke verbunden sind. Diese müssen zuerst alle getrennt werden. Man kann dies in einer Windowsshell mit dem folgenden Befehl erledigen:
net use * /DELETE
Nach dem nächsten, obligaten Neustart, kann man sich bei der Domäne anmelden.
Windows hat die überaus sinnvolle Grundeinstellungen, alle Netzwerklaufwerke auf den Arbeitsplatz zu synchronisieren. Das mag bei Notebooks einen gewissen Sinn ergeben, aber für Desktop sicherlich nicht. Es ist sogar äusserst lästig, wenn Windows beim ersten herunterfahren auf die schlaue Idee kommt den ganzen Server jetzt auf die lokale Festplatte zu kopieren.
Daher sollte man vor dem Benutzen der Roamingprofile die Funktion für die Offlinedatei-Verwaltung deaktivieren.
Wähle hierzu in einem Dateimanger im Menü Extras→Ordneroptionen... den Reiter Offlinedateien.
Wenn man den ersten Schritt, Roamingprofile mit einem PDC, erst mal vollzogen hat und die Vorzüge von zentral verwaltbaren Benuterprofilen kennen gelernt hat, kommen schnell mehr Wünsche.
Es ist nur die halbe Miete, die Profile auf dem Server zu speichern. Als Nachteile gelten vor allem zu grosse Profile, weil die Benutzer auf dem Desktop ihre ganzen Daten ablegen. Das kann dann mitunter zu sehr langen Wartezeiten beim An- und Abmelden führen. Was auch nicht wünschenswert ist, dass alle Benutzer entweder keine Rechte als Standarduser oder als Admin haben. Und last but not least, für neue Benutzer jeweils das ganze Profil vorbereiten zu müssen ist auch mühsam.
Daher habe ich hier einige Möglichkeiten zusammengetragen, welche es dem geplagten SAMBA-Admin im täglichen Leben einfacher macht. Profile optimieren
net getlocalsid [NAME] net setlocalsid SID