Moin!
Nochmal: Dein Problem war (bzw.: ist), dass Du versuchst die Freigabe in /home/karlheinz/Daten
zu machen. Das geht nicht, weil der user nobody
schon keinen Zugriff auf /home/karlheinz
hat. (Und das soll auch so bleiben!)
Also MUSS die Freigabe woanders hin.
Das Skript:
Das untenstehende als Datei (mit allen Leerzeilen und keinen überflüssigen und fehlerverursachenden Änderungen oder Hinzufügungen) als createSambaShare_free4all.sh
ablegen, eventuell editieren, dann chmod 755 ./createSambaShare_free4all.sh
, dann sudo ./createSambaShare_free4all.sh
.
Und schon gibt es die funktionierende Freigabe...
Freilich kann man die Datei auch ändern - dann aber nicht wieder einen Ordner benutzen, in dem nobody
nichts darf.
Vor einem erneuten Ausführen Gedanken über die angelegten Ordner /var/samba
und /var/samba/free4all
machen und den Abschnitt (Abschnitt!) free4all aus der Datei /etc/samba/smb.conf entfernen.
Eventuell braucht der Explorer (client) einen Neustart um zu bemerken, dass die Freigabe angelegt, geändert oder gelöscht wurde. Der von mir als Client verwendete Dolphin braucht den nämlich auch ...
#! /bin/bash
# file:createSambaShare_free4all.sh
# Ordner anlegen und Rechte vergeben:
mkdir /var/samba
chmod 755 /var/samba
# Ordner für die Freigabe anlegen, am nobody verschenken und Rechte vergeben:
mkdir /var/samba/free4all
chown nobody:nogroup /var/samba/free4all
chmod 777 /var/samba/free4all
# smb.conf ändern:
cat << EOF >> /etc/samba/smb.conf
[free4all]
comment = Hier darf jeder mal
browseable = yes
path = /var/samba/free4all
writable = yes
guest ok = yes
map to guest = bad user
guest account = nobody
follow symlinks = no
force directory mode = 0777
force create mode = 0666
force user = nobody
force group = nogroup
EOF
exit
Jörg Reinholz