Tanzkurs
Mit Samba ein kleines Netz einrichten
Freigaben
Der Samba-Server erlaubt nicht nur das Speichern der persönlichen Dateien im Home-Verzeichnis, sondern stellt auch die Möglichkeit zum Datenaustausch im Netzwerk zur Verfügung. Dafür eignen sich Freigaben, auf die jeder Benutzer Zugriff kann. Eine solche Freigabe ist in Listing 1 ab Zeile 50 definiert.
Das Verzeichnis mit den gemeinsamen Dateien liegt hier unter /export/shared und muss natürlich vorhanden sein. Aus Sicherheitsgründen bietet es sich an, den Zugriff auf die Gruppe users zu beschränken und dieser Schreibzugriff auf das Verzeichnis zu gewähren. Alles in allem sieht das folgendermaßen aus:
mkdir -p /export/shared chown -R root:users /export/shared chmod -R ug+rwx,o+rx-w /export/shared
Jetzt haben sowohl Admin als auch die Gruppe users Schreibzugriff auf das Verzeichnis. Allen anderen bleibt dies – unter Windows wie Linux – beim Zugriff auf die Freigabe verwehrt. Zugriff erhält ein Benutzer mit dem Befehl smbclient //chef/gemeinsam -U Benutzer
.
Ähnlich verhält es sich mit den Freigaben für die Netzwerkanmeldung und die Profile (Listing 1, ab Zeile 35), die nach denselben Zugriffsrechten verwaltet sein müssen. Die Netzwerkanmeldung hält dabei einen Bereich vor, in dem Anmeldeskripte liegen. Das Skript selbst legen Sie über die Option logon script in /etc/samba/smb.conf fest (siehe Listing 1, Zeile 10).
Mit dieser Option geben Sie ein Skript relativ zum Pfad in der Sektion [netlogon] an. Der Windows-Client kopiert das Skript beim Anmelden auf die lokale Platte und führt es dort aus. Für Anmeldeskripte eignen sich einzig Batch-Dateien mit der Endung .bat.
Diese sollten Sie unter Windows erstellen, damit es nicht zu Kodierungs-Konflikten zwischen Linux und Windows kommt. Beispielsweise kann dieses Skript folgenden Inhalt haben: net use S: \\chef\gemeinsam. Bei einer Anmeldung hängt der Client damit die gemeinsam nutzbare Freigabe automatisch unter dem Laufwerksbuchstaben S: ein.
Bei Profilen handelt es sich um Verzeichnisse, in denen Windows Einstellungen speichert. Zu den dort vorgehaltenen Settings zählen unter anderem die Icons auf dem Desktop sowie Drucker- und Mail-Einstellungen. Deren Speicherort im Dateisystem legen Sie über die Option logon path fest (siehe Listing 1, Zeile 11). Geben Sie diesen nicht explizit an, speichert Samba die Profile im Home-Verzeichnis des Benutzers. Um sie zentral abzulegen, muss natürlich eine Freigabe für die Profile vorhanden sein (Listing 1, ab Zeile 41). Die Option in Zeile 44 erlaubt nur solchen Benutzern den Zugriff, die Samba kennt.
Dies geschieht durch Umgebungsvariablen, die Samba zur Verfügung stellt (Näheres dazu in der Manpage zur smb.conf). Die Zeilen 45 und 46 betreffen die Zugriffsrechte: Die dort erstellten Profile sollen für einen einzigen Benutzer zugängig sein – und das ist der, dem das Profil gehört.
Um über das Netzwerk zentral zu drucken, brauchen Sie einen Druck-Server. Diesen richten Sie nach der Anleitung im Kasten "Druck-Server aufsetzen" ein. Der Linux-Client benötigt lediglich das Paket cups-client. Die zu editierende Datei ist /etc/cups/client.conf, in der Sie das Kommentarzeichen vor der Option ServerName entfernen und dann den Namen des Druck-Servers anhängen, in diesem Beispiel ServerName chef.
Sie müssen auf dem Client den Druckdienst nicht eigens starten. Sämtliche im Client-Paket enthaltenen Druckbefehle finden den Server in der Client-Konfiguration. Dies gilt auch für Druckbefehle wie lpr -Pbesen putzplan.pdf. Die Befehle des Line-Printer-Daemons emuliert Cups. Programme wie Kprinter bieten eine Auswahl von Druckdiensten an, aus denen sich auch Cups wählen lässt (siehe Abbildung 2).
Ein Benutzer unter Windows hingegen darf einen Drucker erst hinzufügen, wenn der Client an der Domäne angemeldet wurde. Ist das geschehen, wählen Sie über das Startmenü die Option Drucker und Faxgeräte und Drucker hinzufügen den Drucker aus (siehe Abbildung 3).
Befindet sich auf dem Samba-Server kein Treiber für den Drucker, fragt das Drucker-Setup nach einem. Wollen Sie die Treiber lokal auf den Clients halten, geben Sie dies explizit mit der Option use client drivers = Yes in der Sektion [printers] der Samba-Konfigurationsdatei an.
Druck-Server aufsetzen
Cups, das Common Unix Print System [3], gehört mittlerweile zu den beliebtesten Techniken zum Drucken im Netzwerk. Eine der besonderen Stärken stellt sein Treibermodell Foomatic [4] dar. Dabei handelt es sich um eine Datenbank, in der frei entwickelte Treiber Platz finden. Wenn Sie recht esoterische oder sehr alte Drucker betreiben möchten, finden Sie für die eigene Treiberentwicklung hier eine gute Anlaufstelle. Die meisten Treiber sind aber in der Datenbank bereits vorhanden.
Auf dem Server dürfte Cups bereits installiert sein. Nahezu alle Linux-Distributionen halten das Paket vor; SuSE teilt es in Client-, Server-, Entwickler- und Treiber-Pakete auf. Ausser den Entwickler-Paketen lohnt es sich auch, das Paket foomatic-filters einzurichten. Auf den Linux-Clients dagegen müssen Sie die Entwickler- und Server-Pakete nicht installieren.
Gentoo-Benutzer installieren, bei gesetztem Use-Flag samba, Cups mit emerge cups und anschließend die Foomatic-Datenbank mit USE="ppds" emerge foomatic. Die Konfigurationsdatei von Cups ist ausgezeichnet dokumentiert, Einträge für einen ersten Start finden Sie im Listing 5.
Die Direktiven Allow From dienen im ersten Fall für den allgemeinen Zugriff auf mit Cups konfigurierte Drucker, im zweiten regeln sie den Zugriff auf das Web-Interface zur Konfiguration. Letzteres bleibt hier einzig dem Server selbst vorbehalten. Neben dem Web-Interface lässt sich Cups auch mit Konsolen-Tools administrieren und konfigurieren.
Einfacher ist es natürlich über das Web-Interface, das der Admin in einem Browser mit http://chef:631 erreicht. Cups fragt aus Sicherheitsgründen nach dem Passwort für den User root, sofern Sie nicht einen anderen Benutzer als Druckadministrator spezifiziert haben.
Im Web-Interface legen Sie neue Drucker über einen Wizard an, spetzifizieren die Verbindung zu diesen und wählen den entsprechende Treiber aus. In unserem Beispiel handelt es sich um einen Laserdrucker von HP mit einer JetDirect-Schnittstelle, die auf Port 9100 auf Verbindungen lauscht. (Zum Thema Drucken mit Cups finden sie in diesem Heft einen Artikel ab Seite 54.)
Listing 5
ServerName chef DocumentRoot /usr/share/cups/docs User lp Group lp SystemGroup lp LogLevel info Port 631 <Location /> Order Deny,Allow Deny From All Allow From 127.0.0.1 Allow From 192.168.100.* </Location> <Location /admin> AuthType Basic AuthClass System Order Deny,Allow Deny From All Allow From 127.0.0.1 Allow From 192.168.100.1 </Location>
Mehr Rechner
Wenn Sie dem Strang aus Abbildung 1 weitere Computer hinzufügen wollen, sollte im Falle eines zusätzlichen Windows-Rechners der Name der neuen Maschine auf dem Samba-Server in /etc/hosts vorhanden sein, damit WINS ihn im Netzwerk auflöst. Für Linux gilt, die Namensauflösung in /etc/nsswitch.conf wie bereits beschrieben vorzunehmen.
Bevor Sie einen Windows-Rechner einer Domäne über das Netzwerk hinzufügen, muss dieser Zugriff auf das lokale Netzwerk haben. Dazu benötigt er eine IP-Adresse sowie die IP des WINS-Servers für die Namensauflösung. In das entsprechende GUI kommen Sie ausschließlich mit Administratorrechten.
In der Systemsteuerung steht bei den Netzwerkverbindungen für jede Netzwerkkarte ein Eintrag, sofern für diese ein korrekter Treiber vorliegt. Der Dialog Eigenschaften erlaubt ein Anpassen der TCP/IP-Parameter, der IP-Adresse sowie des WINS-Servers. Abbildung 5 zeigt diesen Dialog.
Um den Rechner der Domäne TULPENSTRASSE hinzuzufügen, klicken Sie im Startmenü mit der rechten Maustaste auf Arbeitsplatz und wählen die Eigenschaften. Dies funktioniert wieder nur mit Administratorrechten. Der Reiter Computername enthält den Button Ändern. Dahinter verbirgt sich das Feld Computername, das den Hostnamen des Clients aufnimmt. Durch einen Klick auf Domäne und Eintragen des Domänennamens sucht sich Windows seinen Weg zum Samba-Server. Der trägt den neuen Rechner mit der Option add machine script aus Listing 1 in die Smbpasswd ein und fügt ihn so der Domäne hinzu.
Ab jetzt ist es möglich, sich unter den Benutzernamen, die Sie auf dem Samba-Server eingetragen haben, am Windows-Client anzumelden. Unter Arbeitsplatz zeigen die Netzwerkverbindungen ein Laufwerk H: – das Home-Verzeichnis des Benutzers. Alle dort abgelegten Daten landen direkt auf dem Server. (agr/jlu)
Der Autor
Markus Klimke arbeitet als Systemingenieur im Rechenzentrum der Technischen Universität Hamburg-Harburg und beschäftigt sich dort mit Systemintegration.
Infos
[1] Samba: http://www.samba.org
[2] Ethereal:http://www.ethereal.com
[3] Cups: http://www.cups.org
[4] Linux-Printing: http://www.linuxprinting.org



