19.2 Samba-Server 

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-Rechner handelt, verbunden werden soll.
Abbildung 19.2 Browsen von Windows-Freigaben
Was ist Samba?
Das Zauberwort heißt in diesem Fall Samba. Es 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.
Jeder, der schon einmal versucht hat, einen Samba-Server unter Linux »von Hand« aufzusetzen, wird überrascht sein, wie problemlos dies bei Ubuntu möglich ist.
19.2.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 Netzwerk-Browser über das Menü Orte • Netzwerk.
Nautilus als Netzwerk-Browser
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 (siehe Abbildung), so können Sie in diese navigieren und Dateien zwischen diesen Verzeichnissen und einer anderen Nautilus-Instanz hin- und herkopieren.
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.
Beachten Sie bitte: Manche Verzeichnisse benötigen 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 Gemeinsame Dateien (unter Linux sichtbar als Shared Docs) erhalten.
| Browsen von Samba-Freigaben unter KDE |
|
Auch unter KDE lässt sich mithilfe 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
Freunde der Konsole installieren das Paket smbfs und binden eine Windows-Freigabe (auch Share genannt) relativ schnell mit folgenden Befehlen ein:
mkdir tausch sudo mount –t smbfs –o username=<Name>, \ password= <Passwort> //192.168.0.103/tausch tausch
Zu den einzelnen Parametern: Über –t wird dem Mount-Befehl 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 setzt natürlich voraus, dass Sie sowohl den Rechner- als auch den Share-Namen kennen.
Wenn Sie nur den Rechnernamen bzw. dessen IP-Adresse kennen, können Sie sich die freigegebenen Ressourcen über den Befehl smb client 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
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.
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.
19.2.2 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 Drucker-Server aufzusetzen, benötigen Sie die folgenden Pakete: samba und smbfs. Zunächst sollten 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
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 = yes
security = share
Des Weiteren muss der Sicherheitsmodus angepasst werden. Suchen Sie in der Datei folgende Zeilen, und entfernen Sie gegebenenfalls die vorangestellten Kommentarzeichen:
security = share ... guest account = nobody
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 workgroup = <Name Ihrer Arbeitsgruppe>
Nach der Änderung der Datei muss der Samba-Server-Dienst neu gestartet werden:
sudo /etc/init.d/samba restart * Stopping Samba daemons.. [ ok ] * Starting Samba daemons.. [ ok ]
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. 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 (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 Computer-Icons gibt nun den Blick auf den soeben erstellten Share frei. Testweise können Sie darin ein Verzeichnis anlegen.
Abbildung 19.3 Samba-Share unter Windows
Aufsetzen eines Print-Servers
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 -rStarten 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. Wählen Sie dazu in der Systemsteuerung das Druckermenü und darin den Punkt Drucker hinzufü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 19.4 Einen Samba-Drucker unter Windows nutzen
| Mit Windows Samba tanzen |
|
Sie benötigen folgende Grundlagen, um 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
- xinetd
Zunächst müssen Sie dem Internet-Super-Server xinetd den Zugriff auf SWAT ermöglichen. Dazu ergänzen Sie den folgenden Eintrag in der Konfigurationsdatei /etc/xinetd.conf:
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 Remote-Zugriff, so müssen Sie den Punkt only_from entsprechend modifizieren. Danach können Sie mithilfe des Programms nmap zunächst getestet werden, 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-Account freischalten
War der Test erfolgreich, so können Sie in einem beliebigen Browser die Zeile localhost:901 eingeben. Nach dem Einloggen mit der Standardbenutzer-Account/Passwort-Kombination landen Sie dann om SWAT-Konfigurationsmenü. 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 freigeschaltet werden.
Dann kann man sich mit der Login/Passwort-Kombination des Benutzers Root einloggen und die Shares entsprechend verwalten (siehe Abbildung). 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.
Abbildung 19.5 Samba-Administration mit SWAT








Jetzt bestellen







