»Was wir brauchen, sind ein paar verrückte Leute; seht euch an, wohin uns die Normalen gebracht haben.« George Bernard Shaw (1856–1950), irischer Dramatiker, Schriftsteller und Nobelpreisträger
21 LAN-Server – im Firmennetzwerk oder als Multimediazentrale
Was Sie in diesem Kapitel erwartet
Wir wollen uns in diesem Kapitel zwei Serverszenarien zuwenden:
- Ubuntu Server im professionellen Einsatz
Wir werden einen Blick über den Tellerrand werfen und das wohl am weitesten verbreitete Szenario betrachten, in dem ein Ubuntu-Rechner mit dem Rest der LAN-Welt, bei dem es sich zumeist um Windows-Rechner handelt, verbunden werden soll.
-
- Das Zauberwort heißt in diesem Fall Samba. Jeder, der schon einmal versucht hat, einen Samba-Server unter Linux »von Hand« aufzusetzen, wird überrascht sein, wie problemlos dies mit Ubuntu möglich ist.
- Ubuntu Server als Homeserver
Der Betrieb von Servern ist eine Domäne von UNIX und Linux. Warum sollte dies nicht auch für einen Homeserver gelten? Linux hat in den letzten Jahren enorm an Multimediafähigkeiten und Benutzerfreundlichkeit hinzugewonnen. Daher wollen wir uns im zweiten Teil dieses Kapitels mit dem Aufsetzen und Einrichten eines Linux-Homeservers beschäftigen.
-
- Microsoft möchte den Anwendern ein Produkt mit dem Namen »Windows Home Server« verkaufen, von dem viele noch gar nicht wussten, dass sie so etwas brauchen. Das Microsoft-Produkt weist teilweise eklatante Sicherheitslücken auf. Die Idee von einem Homeserver ist übrigens nicht neu, aber sie ist gar nicht schlecht. Ein solcher Server kann vielfältige Aufgaben zu Hause übernehmen, die nicht nur den Umgang mit unterschiedlichsten Medien komfortabler machen, sondern auch für eine zusätzliche Datensicherheit sorgen.
Benötigtes Vorwissen
Sie sollten den grundlegenden Umgang mit der Shell beherrschen (siehe Abschnitt »Das Terminal«).
21.1 Firmenserver 

21.1.1 Was ist ein Fileserver? 

Wenn in einem Netzwerk mehrere Clients auf gemeinsame Dateien zugreifen wollen, benötigen Sie einen zentralen Speicherort. Hierbei haben Sie es in vielen Firmen oder auch privaten Netzwerken mit zwei unterschiedlichen Arten von Infrastrukturen zu tun:
- homogen (gleichartig)
Der »einfachste« Fall besteht darin, dass sich in einem gemeinsamen Netzwerk nur Rechner befinden, auf denen das gleiche Betriebssystem installiert ist, also beispielsweise ausschließlich Windows-Clients.
- heterogen (unterschiedlich)
Der weitaus häufigere Fall besteht allerdings darin, dass sich im Laufe der Zeit eine bunte Mischung an unterschiedlichen Betriebssystemen in einem Netzwerk angesammelt hat.
Egal, welche Infrastruktur Sie vorfinden, ein Ubuntu-Server gewährt Linux- und Windows-Clients gleichermaßen Zugriff auf gemeinsam genutzte Dateien oder auch den Abteilungsdrucker.
Die Lösung: Samba
Samba bezeichnet nicht den bekannten lateinamerikanischen Tanz, sondern vielmehr ein geniales Stück Software von dem australischen Programmierer Andrew Tridgell. Durch sogenanntes Reverse Engineering konnte mit dieser Software ein Windows-Netzwerkprotokoll entschlüsselt und somit in der Folge von Samba-Clients und -Servern in UNIX-Umgebungen genutzt werden.
Server: Basis für Windows-Clients
Mit dieser Software verwandeln Sie Ubuntu in einen Fileserver, auf den alle Rechner im Netz zugreifen können. Zugleich kümmert dieser sich auch um die Zugriffsrechte, das heißt, Samba erlaubt das Setzen von Zugriffsrechten, so dass einzelne Verzeichnisse gezielt für bestimmte Nutzer freigegeben oder gesperrt werden können.
Client: Auf Windows-Rechner zugreifen
Im Übrigen eignet sich Samba nicht nur zur Einrichtung eines Servers. Sie können mit dieser Technik auch als Ubuntu-Client einer Windows-Domäne beitreten, also beispielsweise auch auf Freigaben von Windows-Rechnern zugreifen.
21.1.2 Zugriff auf Windows-Freigaben 

Mit einfachen Bordmitteln gelingt es jedem Laien im Handumdrehen, auf eine Windows-Freigabe (das wäre z. B. der Ordner Gemeinsame Dateien) zuzugreifen. Unter GNOME verwenden Sie hierzu den Netzwerk-Browser über das Menü Orte • Netzwerk.
Nautilus als Netzwerk-Browser
Im Nautilus-Browser finden Sie immer das Icon Windowsnetzwerk. Sollte sich nun im lokalen Netzwerk ein Windows-Rechner befinden, lassen sich per Doppelklick auf das Icon die Rechner anzeigen, die zur entsprechenden Windows-Arbeitsgruppe gehören. Besitzen diese Rechner freigegebene Verzeichnisse (siehe Abbildung), so können Sie in diese navigieren und Dateien zwischen diesen Verzeichnissen und einer anderen Nautilus-Instanz hin und her kopieren.
Abbildung 21.1 Browsen von Windows-Freigaben
Verknüpfung auf dem Desktop
Falls das nicht auf Anhieb funktioniert, starten Sie Nautilus und wählen im Menü den Punkt Datei • Mit Server verbinden. Alternativ können Sie auch das bekannte Menü Orte • Verbindung zu Server wählen. Hier geben Sie die IP-Adresse des gewünschten Windows-Servers sowie als Dienstetyp Windowsfreigabe an. Nun sollte der entsprechende Rechner als Icon auf dem Desktop erscheinen. Durch Anklicken des Icons können Sie die Remote-Verzeichnisse durchsuchen.
Geschützte Verzeichnisse
Beachten Sie bitte: Für manche Verzeichnisse benötigen Sie eine Login-Kennung sowie ein Passwort, um auf nichtöffentliche Ordner zugreifen zu können. In diesem Fall müssen Sie auf der Windows-Maschine über
einen entsprechenden Account verfügen. In der Regel sollten Sie aber Zugriff auf das Verzeichnis Öffentlich (unter Linux sichtbar als Public) erhalten.
Tipp 263: Browsen von Samba-Freigaben unter KDE
Auch unter KDE lässt sich mit Hilfe des Konquerors leicht ein Netz nach Windows-Freigaben durchforsten. Starten Sie den Konqueror, und geben Sie in der Adresszeile smb:/ ein. Dadurch wird das angeschlossene Netz nach Windows-Rechnern durchsucht. Nun können Sie per Mausklick auf die Rechner beispielsweise auf die freigegebenen Ressourcen zugreifen. Das Hin- und Herkopieren erfolgt einfach durch Drag & Drop zwischen zwei Konqueror-Fenstern. |
Manuelles Einbinden einer Windows-Freigabe
Wenn Sie nur den Rechnernamen oder seine IP-Adresse kennen, können Sie sich die freigegebenen Ressourcen über den Befehl smbclient wie folgt anzeigen lassen:
smbclient –U <Benutzer> –L 192.168.0.103 Password: Sharename Type Comment IPC$ IPC Remote-IPC Shared Docs Disk tausch Disk
fstab
In diesem Fall finden Sie den allgemein zugänglichen Ordner Shared Docs sowie ein manuell freigegebenes Verzeichnis namens tausch auf dem Windows-Rechner. Soll ein freigegebenes Verzeichnis von jedem beliebigen Benutzer eingebunden werden können, so ist ein entsprechender Eintrag in der Systemdatei /etc/fstab erforderlich. Im Beispiel sind natürlich user und pass durch den entsprechenden Benutzernamen und dessen Passwort zu ersetzen.
Ein Beispiel:
#Auszug aus /etc/fstab //<Rechnername>/<Freigabename> /media/<Freigabename> smbfs auto,username=user,password=pass 0 0
In diesem Fall kann jeder Benutzer die entsprechende Freigabe auf ein (zuvor noch zu generierendes) Verzeichnis /media/<Freigabename> einbinden.
21.1.3 Linux als Windows-Server (Samba) 

Ihren großen Siegeszug hat die Samba-Software als Server für Windows-Clients erfahren. Um einen eigenen Datei- oder Druckerserver aufzusetzen, benötigen Sie die folgenden Pakete: samba und smbfs. Zunächst sollten Sie ein Verzeichnis zum Tauschen explizit erstellen und freigeben. Hier ist dies der Ordner /media/ server:
sudo mkdir /media/server sudo chmod ugo+rw /media/server
Verzeichnisse les- und schreibbar machen
Durch den letzten Befehl wurde das Verzeichnis /media/server als les- und schreibbar für alle definiert. Für komplexere Rechtevergaben konsultieren Sie die Befehlsreferenz.
Nun gilt es, das neu erstellte Verzeichnis via Samba in das Windows-Netz zu exportieren. Dazu muss die Datei /etc/samba/smb.conf wie folgt geändert bzw. ergänzt werden:
sudo gedit /etc/samba/smb.conf # Auszug aus /etc/samba/smb.conf # [server] comment = Ubuntu Server Verzeichnis public = yes browseable = yes path = /media/server writeable = yes guest ok = no
Verzeichnisse sicher freigeben
Sollten Sie auf Ihrem Windows-Rechner nicht die Standardarbeitsgruppe workgroup definiert haben, so ist eine weitere Änderung in dieser Datei erforderlich:
# Change this to the workgroup/NT-domain name your # Samba server will part of%%%das steht so ohne "be" in der Datei workgroup = <Name Ihrer Arbeitsgruppe>
Nun muss noch ein Samba-Passwort gesetzt werden, das sinnvollerweise nicht Ihrem normalen Benutzerpasswort entspricht – ansonsten hat jeder, den Sie dazu einladen, sich auf Ihren Samba-Freigaben umzusehen, vollen Zugriff auf Ihren Rechner. Übrigens muss <user> nicht Ihrem Benutzernamen entsprechen, Samba hat eine vom übrigen System getrennte Benutzerverwaltung.
sudo smbpasswd -a <user>
Nach der Änderung der Datei müssen Sie 90 Sekunden warten (die Konfigurationsdatei wird in diesem Intervall neu eingelesen) oder den Samba-Serverdienst neu starten:
sudo initctl restart smbd smbd start/running, process 4312
Kommt es wie im obigen Beispiel zu keinerlei Fehlermeldungen, so sollte Ihr Samba-Server laufen.
Dies lässt sich im Übrigen auch mit ps ax | grep smbd feststellen. Der Befehl testparm erlaubt außerdem das Testen Ihrer Samba-Konfiguration.
Nun können Sie versuchen, den Samba-Server von einem Windows-Rechner aus zu erreichen (siehe Abbildung).
Zu diesem Zweck durchsuchen Sie einfach das Netzwerk (Explorer • Netzwerk). Alternativ können Sie auch mit dem Windows Explorer nach dem Ubuntu-Server suchen. Dafür mussIhnen aber dessen IP-Adresse bekannt sein. Das Anklicken des entsprechenden Computer-Icons gibt nun den Blick auf den soeben erstellten Share frei, sofern Sie das soeben gesetzte Passwort eingeben. Testweise können Sie darin ein Verzeichnis anlegen.
Abbildung 21.2 »Samba«-Share unter Windows
Aufsetzen eines Printservers
Auch Drucker können mit Samba vom Ubuntu-Rechner exportiert werden. Dazu editieren Sie die Samba-Konfigurationsdatei folgendermaßen:
# Auszug aus /etc/samba/smb.conf # printcap name = cups load printers = yes printing = cups printer admin = @users use client driver = yes ... [printers] comment = All Printers path = /var/tmp create mask = 0600 printable = Yes guest ok = yes browseable = No print command = lpr-cups -P %p -o raw %s -r
Starten Sie Samba neu, und prüfen Sie im Windows Explorer, ob der Drucker als Freigabe angezeigt wird. Nun müssen Sie noch den Netzwerkdrucker unter Windows integrieren. Rufen Sie dazu Systemsteuerung • Drucker auf und dort den Unterpunkt Druckerhinzufügen. In dem Assistenten wählen Sie dann die Option Netzwerkdrucker aus. Hier wählen Sie den Drucker aus, den Sie freigeben wollen (Abbildung). Bei der oben vorgenommenen Konfiguration müssen Sie schließlich auf dem Windows-Rechner noch die Druckertreiber des exportierten Druckers installieren. Danach können Sie vom Client aus drucken.
Abbildung 21.3 Einen »Samba«-Drucker unter Windows nutzen
Tipp 264: Mit Windows Samba tanzen
Sie benötigen folgende Kommandos, um mit der Shell auf Windows-Dateien zuzugreifen: mount -t smbfs -o <username=myname,uid=my_uid,gid=my_gid> <//server/share /mnt/smb> smbmount <//server./share /mnt/smb> -o ''<username=mein_name,uid=meine_uid,gid=meine_gid>'' smbclient -L <192.168.1.2> # Freigaben anzeigen Die Samba-Netzwerk-Nachbarschaft kann folgendermaßen angezeigt werden: smbclient -N -L <eigene_IP_Adresse> | less nmblookup -T ''*'' |
Administration über SWAT
Wenn Sie es leid sind, Samba mühsam im Editor zu konfigurieren, installieren Sie am besten das Browser-Frontend SWAT, das Samba Web Administration Tool.
Um SWAT nutzen zu können, werden die folgenden Pakete benötigt:
- swat
- openbsd-inetd (wird automatisch mitinstalliert, sofern noch kein anderer inetd-Dienst auf dem System installiert ist)
Normalerweise ist keine weitere Nacharbeit nötig, die Dateien /etc/services und /etc/inetd.conf werden bei der Installation der Pakete konfiguriert.
Sollten dennoch Probleme auftauchen, prüfen Sie, ob folgende Einträge vorhanden sind:
sudo gedit /etc/services # Auszug aus /etc/services # swat 901/tcp # swat sudo gedit /etc/inetd.conf # Auszug aus /etc/inetd.conf # swat stream tcp nowait.400 root /usr/sbin/swat swat
Abbildung 21.4 »Samba«-Administration mit »SWAT«
Mit nmap testen
Danach können Sie mit Hilfe des Programms nmap zunächst testen, ob der Dienst SWAT gestartet wurde. nmap müssen Sie zunächst via sudo apt-get install nmap installieren.
nmap localhost ... 901/tcp open samba-swat
Root-Rechte erlangen
War der Test erfolgreich, so können Sie in einem beliebigen Browser die Zeile localhost:901 eingeben. Nach dem Einloggen mit der Kombination Standardbenutzer-Account und -Passwort landen Sie dann im SWAT-Konfigurationsmenü.
Für Standardbenutzer ist es jedoch nur möglich, sich den Samba-Status sowie die Freigaben anzuschauen, denn Samba erwartet den Benutzer Root. Da der Root-Account unter Ubuntu standardmäßig deaktiviert ist und dies aus verschiedenen Gründen auch besser bleiben sollte, müssen wir uns anders behelfen.
sudo chown root:admin /etc/samba/smb.conf sudo chmod 664 /etc/samba/smb.conf
Damit erlauben wir lokalen Benutzern mit Administrationsrechten, die Datei /etc/samba/smb.conf zu editieren. Sie können sich nun erneut einloggen und im SWAT-Konfigurationsmenü auch Shares entsprechend verwalten (siehe Abbildung).