Linux und Windows NT 4.0 - Eine gute Kombination!? - Samba
Konfiguration des Linux-Systems
Wir legen eine neue Gruppe am besten mit dem Namen samba an. Danach wird ein User erzeugt, den wir samba_user nennen. Dieser User wird nur der Gruppe samba zugeordnet. Damit sich der User nicht lokal anmelden kann, setzen wir die Login-Shell des Users auf /bin/false. Außerdem erhält der User ein unmögliches Passwort durch den Befehl passwd -l username
. Der root-User wird zusätzlich in der Gruppe samba eingetragen. Danach wird ein Verzeichnis namens /samba erzeugt, welchem wir gleich die korrekten Rechte zuweisen. Dies geschieht mit den Befehlen:
chgrp samba /samba chmod 770 /samba
So, damit ist das Grundsätzliche schon abgeschlossen. Im folgenden sehen wir unsere Samba-Konfigurationsdatei smb.conf mit Erklärung.
[global] # Alle Angaben betreffen die ganzen Samba-Ressourcen workgroup = DATA # Sollte im Normalfall mit der Domäne übereinstimmen, in der sich # der NT Server- befindet. keep alive = 30 # Prüft alle 30 Sekunden, ob noch eine Client-Verbindung besteht. security = server # Sehr wichtige Angabe! Übergibt die Sicherheitsüberprüfung an einem Server. # Wenn Ihre Samba-Version die Angabe security = domain unterstützt, verwenden Sie diese. password server = Name des NT Servers # Bezeichnung, auf welchem Server Samba Passwörter abfragt. Es muss ein Name # sein, keine IP. Wenn nicht vorhanden, dann in /etc/hosts nachtragen. username map = /usr/lib/samba/users.map # Pfad zu der Datei users.map, in der alle User stehen, die auf Ressourcen # überhaupt zugreifen dürfen. [alles] # Freigabename alles comment = Alles auf Linux # Detailliertere Beschreibung der freigegeben Ressource path = / # Pfad der Ressource, also des Verzeichnisses valid users = root # Alle User, die auf die Resource zugreifen dürfen. browseable = no # Niemand kann die Ressource durch einen Suchdienst, z.B. Netzwerkumgebung # bei Windows95/98/NT, sehen. writeable = yes # Generell ist das Schreiben erlaubt create mask = 0770 # Wenn neue Dateien erstellt wurden, dann erhalten sie alle Rechte # (lesen, schreiben, ausführen) für den Besitzer und der Gruppe. # Diese Angabe ist besonders wichtig, da sonst nur der Ersteller volle # Rechte auf die erstellten Dateien hat. directory mask = 0770 # Wenn neue Verzeichnisse erstellt wurden, dann erhalten sie alle Rechte # (lesen, schreiben, ausführen) für den Besitzer und die Gruppe. # Diese Angabe ist besonders wichtig, da sonst nur der Ersteller volle # Rechte auf die erstellten Verzeichnisse hat. [daten] comment = Daten-Ressource path = /daten valid users = @samba # Alle User in der Gruppe samba dürfen auf die Ressource zugreifen # Der Gruppenzugriff wird durch den @ gekennzeichnet. browseable = yes # Diese Ressource kann durch einen Suchdienst gefunden werden. writeable = yes create mask = 0770 directory mask = 0770 [cdrom] comment = Linux CD-ROM path = /cdrom writeable = no locking=no
Alle Zeilen, die mit einer Raute (#) beginnen, stellen bloß Kommentare dar, die ansonsten nichts weiter zur Sache tun. Wir haben jetzt eine Ressource alles, in der der root-User alle Rechte auf dem ganzen System hat. Weiterhin haben wir eine Ressource daten, auf die nur User zugreifen können, die sich in der Gruppe samba befinden. Ausnahme ist wie immer der root-User.
In der Datei users.map (siehe weiter unten) stehen alle auf dem NT-System angelegten User, die generell auf das Linux-System zugreifen können. Diese generellen Zugriffrechte werden in unserem Beispiel durch die Option valid users = root
und valid users = @samba
eingeschränkt. Jetzt schauen wir uns den Inhalt der Datei users.map an:
root = administrator samba_user = name1 name2 name3 usw.
Der NT-administrator-User wird dem root-User zugeordnet. Damit hat der NT-Administrator die gleichen Rechte auf dem Samba Server wie der root User. Die anderen NT-User, die generell auf Linux zugreifen sollen, werden dem Linux-User samba_user zugeordnet. Wenn Sie also auf dem NT-System den dort schon eingerichteten Usern Peter, Hans und Gabi auch die Samba Ressourcen zur Verfügung stellen möchten, sieht die Datei folgendermaßen aus:
root = administrator samba_user = peter hans gabi
Hinweis: Nach unserem Netzwerkkonzept ist im Prinzip die Gruppe samba überflüssig, da sich nur root und der User samba_user in dieser Gruppe befinden. Allerdings ist es doch sinnvoll, diese Gruppe einzusetzen, weil nur Samba-Nutzer auf die Ressourcen zugreifen sollen. Wenn die Gruppe samba fehlt, muß der User samba_user einer anderen Gruppe zugordnet sein, z.B. users. Jetzt können wir zwar die Gruppe des Verzeichnisses samba der Gruppe users zuordnen, damit der samba_user Zugriff auf das Verzeichnis hat. Allerdings haben folglich alle lokalen Mitglieder der Gruppe users Zugriff auf die Ressource. Dieses wollen wir aber vermeiden, da nur der User root und der User samba_user auf die Freigaben zugreifen sollen
Konfiguration des NT-Systems
Das NT-System ist einfach genauso zu konfigurieren, als wäre der Linux-Server gar nicht da. Das einzige, was beachtet werden muß, ist daß der net use
-Befehl um die Samba-Ressourcen erweitert werden muß.
Vor- und Nachteile dieses Netzwerkkonzeptes
Vorteile
- Es müssen nur zwei User auf dem Linux-Server angelegt werden.
- Alle Passwörter werden von NT verwaltet.
- Niemand kann ohne NT auf die Samba-Ressourcen zugreifen.
- Bei der Anmeldung muß nicht extra zwischen Groß- und Kleinschreibung unterschieden werden.
- Niemand, der sich lokal anmeldet, hat Zugriff auf die Samba-Ressourcen.
Nachteile
- Falls der NT-Server mal ausfallen sollte, kann sich niemand an dem Linux-System anmelden (global). Dieses ist aber eigentlich so gewollt, da der Linux-Server ja nicht als Backup-Server laufen soll. Würde man zwei NT-Server so aufbauen, dann wäre es derselbe Effekt.
Quellen
- SuSE Handbuch
- Chip Linux für Einsteiger
- TCP/IP - Netzanbindung von PCs
- C´t 1999, Heft 18
- smb.conf Manpage
- http://www.t-king.de/linux/samba/pdc.txt
- http://ttrip1-fh-worms.de/sem/ss96/samba/samba.html