Auf Samba-Shares von Linux zugreifen

 7. April 2024 •  Ekkart •  Computer, Linux •  Computer

Einfach, weil es einfach und kompliziert zugleich ist, hier, was für mich funktioniert.

Im Beispiel ist ~ = /home/ekkart

Zu installierende Packages (sind meist schon installiert)

  • cifs-utils
  • samba-common
  • smbclient

Server-Adresse herausfinden. Die beginnt mit //. In meinem Beispiel ist die Adresse //192.168.100.5/

Die meisten Samba-Server sind so eingerichtet, dass eine Domäne existiert, in der der Benutzername gültig ist. Ob ein / oder ein \ beides trennt, kommt auf den Kontext an. In meinem Beispiel ist die Domäne privat und der Nutzer ekkart.

Schon kann man mal testen, ob der Zugriff auf dem Samba-Share funktioniert.

smbclient -U <domain>/<user> -L <server>
$ smbclient -U privat/ekkart -L //192.168.100.5/
Password for [PRIVAT\ekkart]:

	Sharename       Type      Comment
	---------       ----      -------
	...
	share           Disk      Der geteilte Ordner.
	team            Disk
	...
SMB1 disabled -- no workgroup available

Es werden Infos über den Server ausgegeben. Insbesondere die Samba-Mount-Freigaben, also die Ordner, auf die Ihr zugreifen dürft. Im Beispiel sind die Ordner team und share freigegeben.

Mit dieser Info sorgen wir jetzt dafür, dass wir die Laufwerke jederzeit mounten, also als lokale Laufwerke nutzen können. Dafür richten wir erst einmal eine Datei mit den Credentials für den Server ein. Dort stehen die Passwörter unverschlüsselt drin, also Vorsicht.

username=<user>
password=<pwd>
domain=<domain>

Im Beispiel nenne ich die Datei .smbcredentials und lege sie in den Ordner ~/samba/.

username=ekkart
password=abcdefg
domain=privat

Jetzt erzeugen wir die lokalen Mount-Points, also die Verzeichnisse, in denen die Samba-Ordner sichtbar werden sollen. Auch dafür nehmen wir den Ordner samba, hier ist alles an einem Platz:

$ mkdir --parent ~/samba/share
$ mkdir --parent ~/samba/team

Als vorletzten Schritt erweitern wir die fstab, die die Informationen enthält, welche Laufwerke auf dem Rechner sind. Achtung: hier kann man den Rechner unbenutzbar machen, also bitte Vorsicht.

Dazu schreiben wir die notwendigen Informationen in eine Datei, damit wir Fehler auch nachvollziehbar machen 😁 Nein, einfach, damit wir das wiederverwenden können. Was die Werte genau bedeuten: bitte nachlesen.

Im Beispiel legen wir die Datei ~/samba/fstab.samba an:

//192.168.100.5/share /home/ekkart/samba/share cifs noauto,user,credentials=/home/ekkart/samba/.smbcredentials  0 0
//192.168.100.5/team /home/ekkart/samba/team cifs noauto,user,credentials=/home/ekkart/samba/.smbcredentials  0 0

Und jetzt fügen wir diese Zeilen zur fstab hinzu. Wie gesagt: Vorsicht. Es sind Admin-Rechte notwendig. Wenn Ihr nicht wisst, was die beiden Befehle unten bedeuten und tun – tut nichts.

Auf jeden Fall erst mal eine Sicherheitskopie anlegen, auf die wir dann im Notfall mit einem bootbaren Linux zugreifen können 😂

$ sudo cp /etc/fstab /etc/fstab.orig
$ sudo su -c "cat /home/ekkart/samba/fstab.samba >> /etc/fstab"

Jetzt als letzten Schritt den Rechner neu starten, keine Ahnung, wie man die fstab im laufenden Betrieb neu einliest.

Wenn der Rechner dann gar nicht mehr startet, war was falsch.

Ansonsten sollte man die Laufwerk jetzt mounten können.