Samstag, Oktober 27, 2007

Windows(SMB) Freigaben in Ubuntu einbinden

Ubuntu bietet bereits von Haus aus eine Möglichkeit an, auf eine Windows Freigabe zuzugreifen; nämlich über "Orte --> Verbindung zu Server". Problematisch hierbei allerdings: die Freigabe ist dann nur im Dateimanager verfügbar und viele Programme können somit nicht auf die dort verfügbaren Daten zugreifen.
In meinem Fall hatte ich das Problem, dass ich mich zwar wunderbar über o.g. Funktion mit meiner Musik Freigabe auf meinem Fileserver verbinden, Rhythmbox (Ubuntu's Standard MP3 Player) damit aber nichts anfangen konnte.
Die Lösung des Problems: die Freigabe muss explizit in das Dateisystem von Linux eingebunden (gemountet) werden. Und so funktioniert das Ganze:

1. Erstmal die passende Software dafür besorgen, das wäre in diesem Fall der Samba Client und das dazugehörige Dateisystem.

sudo apt-get install smbfs smbclient

2. Ein Verzeichnis auf dem lokalen Rechner anlegen, über das die Freigabe erreichbar sein soll. Bspw. im Home des aktuellen Benutzers:
cd ~
mkdir musik

3. Nun wird die Freigabe gemountet:
sudo smbmount //192.168.1.2/Musik /home/mayo/musik -o username=mayo,password=meinpasswort,uid=1000,mask=000
Natürlich die Server- und Freigabenamen durch die eigenen ersetzen. Benutzerkennung und Passwort gelten natürlich für den Server auf dem die Freigabe liegt.

Wenn alles geklappt hat, dann sollte man unter ~/musik nun die entsprechenden Dateien vorfinden.

Möchte man die Freigabe wieder entfernen, dann klappt das folgendermaßen:
sudo smbumount /home/mayo/musik

Soweit so gut. Nun hab' ich ja keinen Bock, das Ganze nach jedem Systemstart zu wiederholen. Damit die Freigabe automatisch gemountet wird, muss man einen Eintrag in der /etc/fstab vornehmen. Da es aber etwas unsicher wäre, Benutzer und Passwort dort im Klartext reinzuschreiben, sollte man diese in einer, nur für den root Benutzer zugänglichen, Datei speichern:

1. Die Datei erstellen:
gksudo gedit /root/.credentials

2. Dort die Benutzerdaten hinterlegen:
username=dein_smb_username
password=dein_smb_passwort

3. Nun die Zugriffsberechtigung beschränken:
sudo chmod 600 /root/.credentials

4. Jetzt die entsprechende Anweisung in /etc/fstab schreiben:
gksudo gedit /etc/fstab

Dort folgenden Eintrag hinzufügen:

//192.168.1.2/Musik /home/mayo/musik smbfs auto,credentials=/root/.credentials,uid=1000,umask=000,user 0 0


5. Nun muss nur noch die fstab neu eingelesen werden:
sudo mount -a

Das war's auch schon. Nun wird bei jedem Systemstart die Freigabe automatisch eingebunden und die dort liegenden Dateien sind auch wirklich für alle Programme zugänglich.

Dank an dbott67.

9 Kommentare:

Anonym hat gesagt…

Vielen Dank für dieses schöne HowTo .. Hat bei mir alles auf anhieb funktioniert. Wenn man auf die extra Datei mit dem Passwort verzichten möchte funktioniert das so:
//192.168.100.101/test /mnt/hauptserver smbfs auto,username=friedolin,
password=hallo,uid=1000,umask=000,user 0 0

Joe-C hat gesagt…

Perfekte Arbeit, hat mir grad extrem geholfen. Gruss

Anonym hat gesagt…

Juhu!
Sehr geil!

Willi hat gesagt…

Ich kann mich nur den Vorgängern anschließen, perfekt.
Vielen Dank.

Thomas Grötzner hat gesagt…

Schönes How-To! Hat auf Anhieb perfekt funktioniert.

Ich möchte noch was zum Kommentar mit dem User+Passwort direkt in fstab reinschreiben sagen: Dies sollte man nicht machen da auf fstab nicht nur root Zugriff hat.

Legt man hingegen wie im howto beschrieben die .credentials im Vz. /root an und setzt die Rechte entsprechend dann kann die ein Standarduser ohne root-Zugriff nicht anschauen!

Anonym hat gesagt…

Jup, kann mich meinen Vorrednern nur anschließen, funktioniert auf Anhieb!!!

Danke.

Anonym hat gesagt…

super !!

Anonym hat gesagt…

Gesucht ... gefunden ... funktioniert!
Vielen Dank für diese einfach nachzuvollziehende Anleitung.

Anonym hat gesagt…

Tolle Sache, hat auch bei mir ohne probleme geklappt. Danke!