Da in unserem Haus leider nicht jeder einen Linux-Rechner hat, sondern auch Windows 7 noch im Einsatz ist, beherrscht unser Storage-Server im Keller nicht nur den Dateizugriff via sftp, sondern auch Windows-Freigaben via Samba. Gestern musste ich feststellen, dass die Windows-Rechner auf einen bestimmten Ordner innerhalb einer Freigabe nicht zugreifen konnte, obwohl die Zugriffsrechte für den entsprechenden Benutzer einwandfrei waren. Der Zugriffsfehler kam daher, dass das Folgen von symbolischen Links in Samba per default nicht aktiviert ist.
Um die Nutzung von Symlinks zu erlauben, müssen folgende Einstellungen in der [global] -Section der Samba-Konfiguration (bei Ubuntu zu finden unter: /etc/samba/smb.conf) gesetzt werden:
[global] follow symlinks = yes wide links = yes unix extensions = no
Danach wird der Samba Daemon neu gestartet:
service smbd restart
… und nun sollten auch Windows-Clients via Samba auf Symlink-Verzeichnisse zugreifen können.
Vorsicht vor Symlinks in Samba: https://www.samba.org/samba/news/symlink_attack.html
https://legacy.thomas-leister.de/ueber-mich-und-blog/
… deshalb schalte ich auch die Unix extensions in der Konfiguration aus ;)
LG Thomas
Der Tipp mit den 3 Zeilen ist gut und funktioniert auch am Raspberry Pi / Raspbian Jessie / Samba.
Allerdings habe ich auch die interessante Feststellung gemacht, dass Samba einen Symlink innerhalb einer Freigabe verbirgt wenn das Benutzerkonto, das die Freigabe aufgerufen hat, keinen Zugriff auf den Pfad des Symlink-Ziels hat.
Beispiel:
In der Freigabe Freigabe smb://pinas/daten liegt ein Symlink namens „usbpladde“ und dieser zeigt auf den von Udev dynamisch angelegten Ordner „/media/pi/usbpladde“. Auf den Ordnerbaum „/media/pi “ hat nur der Benutzer „pi“ Zugriff.
Ruft der der Benutzer „fritz“ die Freigabe „smb://pinas/daten“ auf dann verbirgt Samba ihm ggü. den Symlink „usbpladde“. Der Benutzer „pi“ dagegen sieht in der Freigabe „smb://pinas/daten“ einen Ordner „usbpladde“ und kann ihn auch öffnen.
Samba zeigt also nur Symlinks an wenn die Benutzerrechte ausreichen um den Symlink aufzulösen.