Tanzkurs

Mit Samba ein kleines Netz einrichten

01.11.2005 Wer zu Hause ein Netzwerk mit heterogenen Clients betreibt, wünscht sich zentrale Dienste zum einfachen Zugriff auf Dateien und Peripheriegeräte. Samba bietet in diesem Fall genau das Richtige, und zudem lässt sich die Lösung mit allen gängigen Distributionen aufsetzen.

Folgende Situation findet in so manchem Haushalt: Alle Familienmitglieder haben einen PC oder Laptop für die unterschiedlichsten Aufgaben. Dank Linux schnurrt im Arbeitszimmer oder einer Abstellkammer ein zentraler Rechner, an dem auch ein Drucker hängt. Nun wollen natürlich alle ihre Daten sichern und gerne auch mal etwas ausdrucken – und das bitte unter Linux, Windows und vielleicht auch Mac OS.

In solchen Fällen ist Feingefühl für die Größe der Infrastruktur gefragt – sonst verkompliziert sich diese unnötig. Denn: Kerberos zur Authentifizierung, SSL/TLS-Verschlüsselung über Zertifikate um jeden Preis und dazu ein dickes LDAP-Backend sind nicht zwingend notwendig. Ein Beispiel dafür, wie Sie daheim ein funktionierendes, zuverlässiges Netzwerk aufbauen, zeigt dieser Workshop.

Samba [1] vermittelt zwischen den Welten und bietet die Möglichkeit, Linux, Windows und Mac OS in einem Netzwerk verschiedene Dienste zentral zur Verfügung zu stellen. Im Kern baut die Samba-Suite auf dem Server-Message-Block-Protokoll (SMB) auf. Ursprünglich von Microsoft für den Austausch von Informationen innerhalb eines Netzwerks entwickelt, bildet es heute die Grundlage für die Software.

Abbildung 1: Die Beispiel-Topologie der hier behandelten Netzwerkumgebung. Weitere Clients oder Drucker lassen sich dem Strang einfach hinzufügen.

Installation

Das Samba-Projekt konnte sich dabei auf keine Dokumentation von Microsoft stützen, sondern untersuchte Windows-Systeme bei der Kommunikation im Netzwerk mit Tools wie Ethereal [2]. Die entwickler setzten ihre Beobachtungen dann in der Implementation des SMB-Protokolls um. Die aktuelle Version dieser Software trägt die Nummer 3; die Version 4 befindet sich derzeit in Arbeit.

Das SMB-Protokoll bildet zwar den Kern der Samba-Suite. Allerdings bietet diese wesentlich mehr als nur ein Kommunikationsprotokoll: Als Server eingesetzt, verteilt sie Dateien und Informationen im Netzwerk, auf die Rechner unter Linux, Windows und Mac OS gleichermaßen zugreifen können.

Beinahe jeder Linux-Distributor bietet Samba als fertiges Paket an. Server-Systeme von Suse und Red Hat wie beispielsweise der Suse Linux Enterprise Server (SLES) oder Red Hat Enterprise Linux (RHEL) liefern zum Management grafische Oberflächen. Allerdings kostet die Unterstützung durch die Distributoren ordentlich Geld. In einem kleineren Netzwerk lohnt es sich mitunter, selber Hand an die Lösung anzulegen.

Viele Distributoren teilen das Samba-Paket in einzelne RPMs auf. Wenn Sie Gentoo einsetzen, dann stellen Sie Ihre Samba-Installation mit so genannten USE-Flags ein. Entscheidend für eine sinnvolle Installation ist das Kommando USE="cups pam quotas readline winbind" emerge samba.

Für die Konfiguration des Servers brauchen Sie eine entsprechende Datei. Unter Umständen liegt bereits eine mit einkommentierten Beispielen versehene smb.conf, im Verzeichnis /etc/samba. Die dürfen Sie getrost in /etc/samba/smb.conf.orig umbenennen. Aus Listing 1 erzeugen Sie leicht eine neue, die Sie an Ihre Umgebung anpassen.

Listing 1

[global]
  workgroup = TULPENSTRASSE
  server string = Samba 3.0.14a
  passdb backend = smbpasswd:/etc/samba/smbpasswd
  username map = /etc/samba/smbusers
  name resolve order = wins bcast hosts
  printcap name = CUPS
  printing = CUPS
  logon drive = H:
  logon script = scripts\logon.bat
  logon path = \\chef\profile\%U
  domain logons = Yes
  preferred master = Yes
  wins support = Yes
  add user script = /usr/sbin/useradd -m '%u'
  delete user script = /usr/sbin/userdel -r '%u'
  add group script = /usr/sbin/groupadd '%g'
  delete group script = /usr/sbin/groupdel '%g'
  add user to group script = /usr/sbin/usermod -G '%g' '%u'
  add machine script = /usr/sbin/useradd -s /bin/false -d /var/lib/nobody '%u'
[homes]
  comment = Da Heim
  valid users = %S
  read only = No
  browseable = No
[printers]
  comment = Druckerei
  path = /var/spool/samba
  printable = Yes
  guest ok = Yes
  browseable = No
[netlogon]
  comment = Netzwerkanmeldung
  path = /export/netlogon
  valid users = %U
  read only = No
[profile]
  comment = Benutzerprofile
  path = /export/profiles
  valid users = %U
  create mode = 0600
  directory mode = 0700
  writable = yes
  browsable = no
[gemeinsam]
  comment = Gemeinsame Dateien
  path = /export/shared
  read only = No

Grundgerüst

Zu jeder Konfigurationsdatei gehören Sektionen, deren Namen zum einen die Software vorgibt und auch so erwartet; zum anderen dürfen Sie aber Sektionen mit frei wählbarem Namen hinzufügen. Zu den festen Sektionen zählt zum Beispiel der Abschnitt [global] für übergreifende Einstellungen am Server. Wie Sie die einzelnen Optionen richtig einsetzen, das erfahren Sie im weiteren Verlauf dieses Workshops. Vorab ist nur wichtig, dass überhaupt eine Konfiguration vorhanden ist.

Wollen Sie mehr über den Aufbau der smb.conf, ihrer Sektionen und Optionen wissen, finden Sie Details dazu über die Manpage smb.conf. Das ist in jedem Fall angeraten. Ob Ihnen beim Abtippen der Datei ein Fehler unterlaufen ist, erfahren Sie mithilfe des Tools Testparm, das Fehler in der Konfiguration anzeigt. Deshalb sollten Sie es nach jeder Änderung in der Datei ausführen.

Sollen in Ihrem Netzwerk Linux- und Windows-Clients in einer Domäne interagieren, brauchen sie eine Domänenverwaltung. Diese Aufgabe übernimmt einer der Rechner im Netzwerk, auf dem Sie Linux und Samba installieren. Domänenverwaltung bedeutet, dass der Samba-Server Rechnernamen und IP-Adressen, Benutzernamen sowie deren zugehörigen Passwörter und Freigaben zur Verfügung stellt.

Namensauflösung

Verbindungen innerhalb des Netzwerks müssen wissen, von wo nach wo sie verlaufen sollen. Das erfordert eine Namensauflösung innerhalb der Domäne, sodass ein Rechner einen Netzwerknamen in eine IP-Adresse transformieren kann. Dafür gibt es mehrere Ansätze: Üblicherweise benutzen Administratoren das Domain Name System (DNS). Allerdings bedeutet das entsprechend mehr Aufwand. Samba unterstützt den Windows Internet Naming Service (WINS).

In vorliegenden Beispiel läuft die Namensauflösung im Netzwerk einfach und praktisch über die Datei /etc/hosts. Wir setzen dabei voraus, dass Sie in Ihrem Netzwerk neben dem Samba-Server sowohl Linux- als auch Windows-Clients sowie einen Laser-Drucker betreiben (siehe Abbildung 1). Der Samba-Server heißt im Beispiel chef, der Linux-Rechner lin01 und Windows-Client win01. Der Drucker steht in der Besenkammer und trägt aus diesem Grund den Namen besen.

All diese Geräte verfügen über eine Netzwerkkarte und erhalten eine IP-Adresse, über die sie im Netzwerk zu erreichen sind. Damit der Samba-Server die IP-Adressen in Namen und umgekehrt auflöst, müssen sie in der Datei /etc/hosts stehen:

192.168.100.1 chef 192.168.100.10 lin01 192.168.100.20 win01 192.168.100.30 besen

Alle Arbeiten an Dateien dieser Art wie auch die folgenden führen Sie mit Root-Rechten durch. Vom Server sollten die eingetragenen Geräte mittels Ping erreichbar sein. Tauchen hier Probleme auf, liegt dies möglicherweise an einer falschen Netzwerkkonfiguration – oder schlicht daran, dass das Gerät nicht eingeschaltet ist.

Benutzerverwaltung

Samba verwendet für das Speichern der Passwörter eine Benutzerdatenbank, die sich von Linux und dessen /etc/passwd unterscheidet. Dafür stellt die Software einige Datenbanktypen sowie -anbindungen mit deutlich unterschiedlicher Komplexität zur Verfügung. Die einfachste Lösung erweist sich jedoch nicht immer als die schlechteste, denn der dateibasierte Ansatz Smbpasswd (Listing 1, Zeile 4) erfüllt seinen Zweck in diesem Fall voll und ganz.

Allerdings bezieht Smbpasswd seine Benutzer aus der lokalen Benutzerverwaltung. Das bedeutet: Bevor Sie einen Benutzer der Smbpasswd hinzufügen, muss dieser in /etc/passwd zu finden sein. Immer vorhanden ist hingegen der Benutzer root, welchen Sie mit dem Kommando smbpasswd -a root als Erstes in die Samba-Benutzerdatenbank eintragen.

Aus Sicherheitsgründen fragt das Kommando gleich nach einem entsprechenden Passwort, das verschieden von dem des lokalen Benutzers root unter Linux sein darf. Der so in die Samba-Benutzerdatenbank eingepflegte Benutzer fungiert als Windows-Administrator, den Sie später für die Konfiguration der Windows-Clients benötigen. Damit er aber unter Windows auch als Administrator – und nicht als root – erkannt wird, ist ein Mapping der Benutzernamen notwendig.

Dazu erstellen Sie – falls noch nicht vorhanden – die Datei /etc/samba/smbusers (Listing 1, Zeile 5) und ergänzen sie um die Zeile root = Administrator. Wie bereits erwähnt, verwendet das Tool Smbpasswd Einträge aus der Linux-Datei passwd.

Das Einrichten eines neuen Benutzers unter Samba setzt ein existierendes User-Pendant unter Linux voraus. Einen solchen Benutzer legen Sie mit dem Befehl useradd Benutzer -m -G users an. Mit dem Befehl vipw überprüfen Sie das Ergebnis. Am Ende der Liste sollte der neue Benutzer stehen, der nun Mitglied in der Gruppe users ist und für den mit -m ein Home-Verzeichnis unter /home/Benutzer erstellt wurde. Fehlen noch die Passwörter.

Es gibt einen Unterschied zwischen den Benutzerdatenbanken für Linux und Samba: Mit passwd Benutzer ändern Sie das Passwort in /etc/passwd, mit smbpasswd -a Benutzer setzen Sie dagegen Benutzer und Passwort in /etc/samba/smbpasswd. Idealerweise kommt in beiden Fällen das gleiche Passwort zum Einsatz, sodass sich eine Linux- nicht von einer Windows-Anmeldung unterscheidet.

Samba verfügt über keine eigene Gruppenverwaltung, sondern verwendet die unter Linux übliche Datei /etc/group. Allerdings ist auch hier ein Mapping notwendig, und zwar eines zwischen den Windows- und den Linux-Gruppen. Mit Gruppen kapseln Sie Benutzer zusätzlich voneinander ab. Durch eine Gruppe lassen Sie mehrere Benutzern auf ein und dieselbe Freigabe zugreifen, um Daten darin zu lesen oder zu schreiben. Windows-Standardgruppen bilden Sie, wie in Listing 2 gezeigt, auf Linux-Gruppen ab.

Listing 2

net groupmap modify ntgroup="Domain Admins" unixgroup=root
net groupmap modify ntgroup="Domain Users" unixgroup=users
net groupmap modify ntgroup="Domain Guests" unixgroup=nobody

Gruppenverwaltung

Wer seine Netzwerkumgebung nach Räumen aufteilt, könnte beispielsweise ein Zimmer einer eigenen Gruppe zugeordnen. Dies ergibt Sinn, falls dort häufiger mehr als nur eine Person vor dem PC sitzt. Dazu erstellt der Workgroup-Admin mit dem Befehl groupadd wohnzimmer eine Gruppe unter Linux und stellt ein entsprechendes Mapping für Samba mit dem folgenden Befehl her: net groupmap add ntgroup="Das Wohnzimmer" unixgroup=wohnzimmer type=domain.

In einer Wohngemeinschaft dürfte ein übertriebenes Sicherheitskonzept den Mitbewohnern sauer aufstoßen; in einem kleinen Unternehmen macht es hingegen sicherlich Sinn, etwa die Personalabteilung von anderen Abteilungen durch Gruppen zu trennen. Achten Sie darauf, dass Windows bei Gruppennamen nicht zwischen Groß- und Kleinschreibung unterscheidet, Linux allerdings sehr wohl. Leerzeichen im Gruppennamen verträgt Linux ebenfalls nicht.

Einen Test für ein erfolgreiches Mapping bietet der Befehl net groupmap list | sort. In Listing 3 sehen Sie die Ausgabe des Befehls. Diese zeigt, dass die Windows-Gruppen durch einen Pfeil auf ihre gemappten Linux-Gruppen verweisen. Bei den kryptischen, mit S beginnenden Zahlenkolonnen hinter den Windows-Gruppennamen handelt es sich um Security Identifier (SID).

Möchten Sie einen Benutzer in eine frisch erzeugte Gruppe einfügen, verwenden Sie den Befehl gpasswd -a Benutzer wohnzimmer. Ob die Aktion erfolgreich war, überprüfen Sie mit wieder mit Vigr: Hinter der Gruppe wohnzimmer sollte nun der Eintrag Benutzer stehen.

Listing 3

Account Operators (S-1-5-32-548) -> -1
Administrators (S-1-5-32-544) -> -1
Backup Operators (S-1-5-32-551) -> -1
Das Wohnzimmer (S-1-5-21-4173815429-3277392822-1971295425-3007) -> wohnzimmer
Domain Admins (S-1-5-21-4173815429-3277392822-1971295425-512) -> root
Domain Guests (S-1-5-21-4173815429-3277392822-1971295425-514) -> nobody
Domain Users (S-1-5-21-4173815429-3277392822-1971295425-513) -> users
Guests (S-1-5-32-546) -> -1
Power Users (S-1-5-32-547) -> -1
Print Operators (S-1-5-32-550) -> -1
Replicators (S-1-5-32-552) -> -1
System Operators (S-1-5-32-549) -> -1
Users (S-1-5-32-545) -> -1

Samba starten

Die Grundlagen haben Sie damit abgehakt und können nun den Samba-Server in Betrieb nehmen. Starten Sie das Programm am besten als Daemon im Hintergrund. Je nach Distribution variiert dabei der Name des Init-Skriptes in /etc/init.d. Unter Suse heißt es smb, Gentoo und Debian nennen es dagegen samba. Neben dem Samba-Daemon smbd startet Samba auch einen Daemon nmbd, der das Auflösen der IP-Adressen und Rechnernamen übernimmt. Damit dieser die Namen aber korrekt umsetzt, muss auf den Linux-Rechnern der folgende Eintrag in der Datei /etc/nsswitch.conf existieren: hosts: files wins.

Noch ein Daemon ist sehr wichtig: Winbind übernimmt das Mapping von Benutzern und Gruppen zwischen Linux und Windows. Wie jeder andere Dienst lässt sich auch dieser über ein Init-Skript (/etc/init.d/winbind start) anstoßen. Wer kein solches Init-Skript hat, aktiviert Winbind direkt auf der Konsole mit winbindd. Gegebenenfalls beendet ein killall winbindd als root den Prozess.

Abbildung 4: Um im Netzwerk zu kommunizieren, braucht ein Rechner eine IP-Adresse. Zum Auflösen der Namen dient dann ein WINS-Servers.

Abschließend gilt es zu kontrollieren, ob alle notwendigen Daemonen laufen. Die Kommandozeile ps aux | egrep "smbd|nmbd|winbindd" sollte entsprechend aktive Prozesse anzeigen. Ob der Samba-Server auf Anfragen korrekt reagiert, testen Sie auf dem Server: smbclient -L localhost -U%. Die Ausgabe für das vorliegende Beispiel zeigt Listing 4.

Eine Verbindung zu einem Home-Verzeichnis erhalten Sie mit smbclient //chef/Benutzer -U Benutzer . Es erscheint ein Prompt, an dem Sie sich mit dem entsprechenden Passwort des Benutzers authentifizieren. War dies erfolgreich, haben Sie Zugriff auf die persönlichen Dateien auf dem Server. Diese zeigen Sie entweder dir oder ls an.

Listing 4

Domain=[TULPENSTRASSE] OS=[Unix] Server=[Samba 3.0.20]
        Sharename       Type      Comment
        ———       —-      ——-
        netlogon        Disk      Netzwerkanmeldung
        gemeinsam       Disk      Gemeinsame Dateien
        IPC$            IPC       IPC Service (Samba 3.0.20)
        ADMIN$          IPC       IPC Service (Samba 3.0.20)
        Besen           Printer   Gemeinschaftsdrucker
Domain=[TULPENSTRASSE] OS=[Unix] Server=[Samba 3.0.20]
        Server               Comment
        ———            ——-
        CHEF                 Samba 3.0.20
        Workgroup            Master
        ———            ——-
        TULPENSTRASSE        CHEF

Die Sektion [Homes] der Samba-Konfiguration in Listing 1 (ab Zeile 22) enthält mit der fehlenden Option path keinen bestimmten Ort, an dem Home-Verzeichnisse zu finden sind. Geben Sie keinen besonderen Platz dafür an, sind die Homes gemäß Voreinstellung über //Server/Benutzer zu erreichen. Dies ist eine Eigenschaft von Samba.

Das ermöglicht einem Linux-Benutzer den Zugriff auf sein Home-Verzeichnis. Unter Windows verläuft dieser Vorgang vorab mit einer Anbindung des Windows-Clients in die Samba-Domäne.

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).

Abbildung 2: Das Druck-Programm Kprinter erlaubt auf sehr einfache Weise die Konfiguration eines Druckers für verschiedene Drucksysteme.

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).

Abbildung 3: Auf dem Windows-Client einen Drucker hinzufügen lässt sich leicht über einen Dialog bewerkstelligen.

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.

Abbildung 5: Windows gibt bei einer erfolgreichen Anmeldung aus, zu welcher Domäne der Rechner nun gehört.

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

Einem Freund empfehlen    Druckansicht beenden Bookmark and Share
Kommentare