17.3 Datentransfer in heterogenen Netzen
Nun wollen wir 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-Boxen handelt, verbunden werden soll.
Das Zauberwort heißt in diesem Fall Samba und bezeichnet nicht den bekannten lateinamerikanischen Tanz, sondern vielmehr ein geniales Stück Software von dem australischen Programmierer Andrew Tridgell.[Interessanterweise findet man bei einer Google-Recherche zum Begriff »Samba« erst unter ferner liefen einen Hinweis zu einer Samba-Tanzgruppe ;-)] Durch sogenanntes Reverse Engineering konnte damit ein Windows-Netzwerkprotokoll entschlüsselt und somit auch in der Folge von Samba-Clients und -Servern in UNIX-Umgebungen genutzt werden.
Jeder, der schon einmal versucht hat, einen Samba-Server unter Linux »von Hand« aufzusetzen, wird im Folgenden überrascht sein, wie problemlos dies bei Ubuntu möglich ist.
17.3.1 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 Netzwerkbrowser über das Menü Orte · Netzwerkserver.
Abbildung 17.9 Browsen von Windows-Freigaben
Sollte sich nun im lokalen Netzwerk ein Windows-Rechner befinden, so erscheint im Nautilus-Browser ein Icon Windowsnetzwerk. Per Doppelklick auf das Icon lassen sich nun die Rechner anzeigen, die zur entsprechenden Windows-Arbeitsgruppe gehören. Besitzen diese Rechner freigegebene Verzeichnisse (Abbildung 17.9), so können Sie nun in diese navigieren und Dateien zwischen diesen Verzeichnissen und einer anderen Nautilusinstanz hin und her kopieren.
Klappt das nicht auf Anhieb, so 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 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 Remoteverzeichnisse durchsuchen. Beachten Sie bitte: Manche Verzeichnisse benötigen eine Loginkennung 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 sollte man aber in jedem Fall Zugriff auf das Verzeichnis Gemeinsame Dateien (unter Linux sichtbar als Shared Docs) erhalten.
Browsen von 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 bzw. die freigegebenen Ressourcen zugreifen. Das Hin- und Herkopieren erfolgt einfach durch Drag and Drop zwischen zwei Konqueror-Fenstern.
17.3.2 Manuelles Einbinden einer Windows-Freigabe
Freunde der Konsole installieren das Paket smbfs und binden eine Windows-Freigabe (auch Share genannt) relativ schnell mit folgenden Befehlen ein:
user$ mkdir tausch user$ sudo mount –t smbfs –o username=<Name>, \ password= <Passwort> //192.168.0.103/tausch tausch
Zu den einzelnen Parametern: Über –t wird dem Mountbefehl mitgeteilt, dass das einzubindende System ein Samba-Dateisystem ist. Des Weiteren werden Benutzername sowie Passwort übergeben, dies kann bei öffentlichen Shares entfallen. Der Rechner selbst sowie der Share werden in der Konvention //<Rechnername>/<Share> angegeben. Das Verfahren bedingt natürlich die Kenntnis sowohl des Rechner- als auch des Sharenamens.
Kennt man nur den Rechnernamen bzw. dessen IP, so kann man sich die freigegebenen Ressourcen über den Befehl smb client wie folgt anzeigen lassen:
user$ smbclient –U <Benutzer> –L 192.168.0.103 Password: Sharename Type Comment IPC$ IPC Remote-IPC Shared Docs Disk tausch Disk
In diesem Fall findet man 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.
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.
17.3.3 Linux als Windows-Server (Samba)
Ihren großen Siegeszug hat die Samba-Software als Server für Windowsclients erfahren. Um einen eigenen Datei- oder Druckerserver aufzusetzen, benötigen Sie die folgenden Pakete:
- samba
- smbfs
Zunächst sollte ein Verzeichnis zum Tauschen explizit erstellt und freigegeben werden. Hier ist dies der Ordner
/media/ server:
user$ sudo mkdir /media/server user$ sudo chmod ugo+rw /media/server
Durch den letzten Befehl wurde das Verzeichnis /media/server weltles-/schreibbar definiert. Für komplexere Rechtevergaben konsultieren Sie die Befehlsreferenz.
Nun gilt es, das neu erstellte Verzeichnis via Samba ins Windows-Netz zu exportieren. Dazu muss die Datei /etc/samba/smb.conf wie folgt geändert bzw. ergänzt werden:
user$ 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 = yes
Weiterhin muss der Sicherheitsmodus angepasst werden. Suchen Sie in der Datei folgende Zeilen und entfernen Sie ggf. die vorangestellten Kommentarzeichen:
security = share … guest account = nobody
Sollten Sie auf Ihrem Windows-Rechner nicht die Standardarbeitsgruppe Workgroup definiert haben, dann ist eine weitere Änderung in dieser Datei erforderlich:
# Change this to the workgroup/NT-domain name your # Samba server will part of workgroup = <Name Ihrer Arbeitsgruppe>
Nach der Änderung der Datei muss der Samba-Serverdienst neu gestartet werden:
user$ sudo /etc/init.d/samba restart * Stopping Samba daemons.. [ ok ] * Starting Samba daemons.. [ ok ]
Kommt es wie im obigen Beispiel zu keinerlei Fehlermeldungen, dann sollte Ihr Sambaserver laufen. Dies lässt sich im Übrigen auch mit
user$ ps ax | grep smbd
feststellen. Nun können Sie versuchen, den Samba-Server von einem Windows-Rechner aus zu erreichen (Abbildung 17.10). Zu diesem Zweck durchsuchen Sie einfach das Netzwerk (Windowsmenü · Netzwerkumgebung · Arbeitsgruppencomputer anzeigen).<Alternativ können Sie auch mit dem Windows-Explorer nach dem Ubuntu-Server suchen, dafür muss Ihnen aber dessen IP-Adresse bekannt sein.> Das Anklicken des entsprechenden Computericons gibt nun den Blick auf den soeben erstellten Share frei. Testweise kann darin ein Verzeichnis angelegt werden.
Abbildung 17.10 Samba Share unter Windows
Aufsetzen eines Printservers
Auch Drucker können mit Samba vom Ubunturechner exportiert werden. Dazu ist die Samba-Konfigurationsdatei folgendermaßen zu editieren:
# 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 muss der Netzwerkdrucker unter Windows noch integriert werden. Wählen Sie dazu in der Systemsteuerung das Druckermenü/Punkt Drucker hinzufügen. In dem Assistenten wählen Sie dann die Option Netzwerkdrucker aus. Hier kann der freigegebene Drucker gesucht und ausgewählt werden (Abbildung 17.11). Bei der oben vorgenommenen Konfiguration müssen schließlich auf dem Windowsrechner noch die Druckertreiber des exportierten Druckers installiert werden, danach kann vom Client aus gedruckt werden.
Abbildung 17.11 Einen Samba-Drucker unter Windows nutzen
Administration über SWAT
Wer es leid ist, Samba mühsam im Editor zu konfigurieren, installiert am besten das Browserfrontend SWAT, das Samba Web Administration Tool. Um SWAT nutzen zu können, werden die folgenden Pakete benötigt:
- swat
- xinetd
Zunächst muss dem Internet-Superserver xinetd der Zugriff auf SWAT ermöglicht werden. Dies erreicht man durch Ergänzen des folgenden Eintrags in der Konfigurationsdatei /etc/xinetd.conf:
user$ sudo gedit /etc/xinetd.conf # Auszug aus /etc/xinetd.conf # service swat { port = 901 socket_type = stream wait = no only_from = 127.0.0.1 user = root server = /usr/sbin/swat log_on_failure += USERID disable = no }
Im obigen Beispiel wurde der Zugriff auf SWAT auf den lokalen PC beschränkt. Wünschen Sie einen Remotezugriff, so ist der Punkt only_from entsprechend zu modifizieren. Danach kann mit Hilfe des Programms nmap<nmap muss zunächst via sudo apt-get install nmap> installiert werden. zunächst getestet werden, ob der Dienst swat gestartet wurde.
user$ nmap localhost … 901/tcp open samba-swat
Hat das geklappt, dann können Sie in einem beliebigen Browser die Zeile localhost:901 eingeben und sollten dann im SWAT-Konfigurationsmenü nach dem Einloggen mit der Standardbenutzer-Account/PasswortKombination landen. Für Standardbenutzer ist es jedoch nur möglich, sich den Samba-Status sowie die Freigaben anzuschauen. Zur echten Administration muss der Root-Account mittels sudo passwd root<Beachten Sie, dass dies nur derjenige tun sollte, der weiß, was er damit anrichten kann. Das komplette Ubuntu-System ist, wie in der Einleitung bereits erwähnt, auf die Verwendung des sudo-Befehls für Root-Aufgaben eingerichtet.> freigeschaltet werden. Dann kann man sich mit der Login/Passwort-Kombination des Benutzers Root einloggen und die Shares entsprechend verwalten (siehe Abbildung 17.12).
Abbildung 17.12 Samba-Administration mit SWAT