SMB/CIFS-Server und -Client einrichten
Zielstellung ist, ein einzelnes Verzeichnis auf einem Linux-Server per »SMB/CIFS« ohne Authentifizierung von anderen Rechnern (vorrangig unter »Windows«) nutzbar zu machen. Das Verzeichnis soll nur lesbar sein.
Die folgenden Angaben beziehen sich auf »openSUSE«. Für andere Linux-Distributionen sind sie sinngemäß anzupassen.
SMB-Server
Installation der nötigen Software
zypper in samba
Konfiguration
Vor Sommer 2023
Falls Windows-Rechner, dass Einbinden von Netzwerk-Shares ohne Angabe von Nutzer/Passwort gestatten, kann eine Datei /etc/samba/smb.conf
mit folgendem Inhalt erzeugt werden:
[global]
map to guest = Bad User
server string = %h server (Samba, openSUSE)
workgroup = VACLAB
idmap config * : backend = tdb
[texlive]
comment = TeX Live
guest ok = Yes
guest only = Yes
path = /usr/local/texlive
Ab Sommer 2023
Falls Windows-Rechner nur noch Netzwerk-Shares mit Angabe von Nutzer/Passwort gestatten, kann eine Datei /etc/samba/smb.conf
mit folgendem Inhalt erzeugt werden:
[global]
server role = standalone server
workgroup = VACLAB
security = user
idmap config * : backend = tdb
[texlive]
path = /usr/local/texlive
valid users = texlive
read only = yes
inherit permissions = yes
Zusätzlich muss der angegebene Nutzer texlive
auf dem Linux-Server folgendermaßen erzeugt werden:
# useradd -M -s /sbin/nologin texlive
useradd texlive --create-home --home-dir /var/lib/texlive
passwd texlive
Geben Sie ein neues Passwort ein: texlive
...
smbpasswd -a texlive
New SMB password: texlive
...
Anm.: Der Einfachheit halber wurde hier ein triviales Passwort verwendet, da keinerlei Sicherheitsbedenken bestehen und auf die TeXLive-Installation ohnehin nur lesend zugegriffen werden kann. Der Nutzer texlive
wird hier als regulärer Nutzer mit eigenem Home-Verzeichnis angelegt, um bei Kopieraktionen mit scp
das passwortlose Anmelden einrichten zu können. Die zur TeX-Installationen gehörenden Dateien müssen dem Nutzer texlive
gehören!
Aktivieren und Starten
systemctl restart smb.service
systemctl enable smb.service
Als Beispiel dient hier die auf dem Server installierte TeX-Distribution.
SMB-Client (Mounten von Netzwerkressourcen)
Windows
Einbinden ohne zugewiesenem Laufwerksbuchstaben
net use \\a73434.berlin.ptb.de\texlive /persistent:yes
Einbinden mit Zuweisung des nächsten verfügbaren Laufwerksbuchstaben
net use * \\a73434.berlin.ptb.de\texlive /persistent:yes
Einbinden mit Zuweisung eines speziellen Laufwerksbuchstaben
net use Z: \\a73434.berlin.ptb.de\texlive /persistent:yes
Linux
Test
smbclient --user=texlive --password=texlive //a73434.berlin.ptb.de/texlive
Testweises Mounten
mount -t cifs //a73434.berlin.ptb.de/texlive /mnt
oder
mount -t cifs -o user='texlive',password='texlive' //a73434.berlin.ptb.de/texlive /mnt
Automatisches Mounten
In der Datei /etc/fstab
ist zu ergänzen:
//a73434.berlin.ptb.de/texlive /usr/local/texlive cifs user=,password=,auto,user,exec 0 0