Aber ist die .bash auch für die Netzwerkzugriffe auf die Volumen zuständig ?
Nein, das macht der afp-Dienst.
Der verhält sich völlig agnostisch gegenüber Posix-Rechten, weil er zB auch völlig kompatibel mit Geräten bleiben will, die gar keine Unix-typischen Benutzerkonten und -berechtigungen kennen.
"umask" Vorgaben akzeptiert dieser Server daher nicht.
Hierfür ist also eine entsprechende ACL auf den freigegebenen Ordnern/Dateien notwendig.
Was du dafür brauchst ist ein "Gruppenordner" als Freigabe.
Erstellst du einen solchen mit der "Server.app", in den Einstellungen einer bestimmten Benutzergruppe, wird er automatisch mit einer ensprechenden ACL neu angelegt.
Willst du dieses Verhalten dagegen auf einem von dir selbst manuell erstellten Freigabeordner haben, bzw auf einem bereits existierenden, dann musst du entsprechende ACLs selbst generieren.
Beispiel:
Die Gruppe der Benutzer die solche "besseren" Zugriffrechte erhalten soll ist $GRP
Der freizugebende Ordner auf dem Server ist $FLD
(FLD existiert bereits und hat schon Inhalte, daher braucht es mehrere Kommandos. Weil:
Vererbte Rechte übertragen sich
nicht von alleine auf bereits vorhandenes unterhalb von $FLD, da muss nachgeholfen werden.
Nur die später dort
ganz neu erstellten Objekte erben automatisch alles, was es zu erben gibt.
Merke: Das kopieren von Inhalten erschafft solche neuen Objekte, aber simples verschieben/umbenennen nicht.)
sudo chown root:$GRP "$FLD"
sudo chmod 775 "$FLD"
## evtl. bereits vorhandene ACLs
## in diesem Baum komplett eliminieren ???
sudo chown -RN "$FLD"
## ...muttu selber wissen, was du dort schon getan hast...?
sudo chmod +a "group:$GRP:allow \
delete,read,write,append,list,add_file,add_subdirectory,\
readattr,writeattr,readextattr,writeextattr,readsecurity,\
only_inherit,directory_inherit,file_inherit" "$FLD"
sudo chmod +a "group:$GRP:allow \
execute,search,only_inherit,directory_inherit" "$FLD"
sudo chmod -R +ai "group:$GRP:allow \
delete,read,write,append,list,add_file,add_subdirectory,\
readattr,writeattr,readextattr,writeextattr,readsecurity,\
directory_inherit,file_inherit" "$FLD"/* "$FLD"/.[^.]* "$FLD"/..?*
sudo find -x "$FLD" -mindepth 1 -type d -exec \
chmod +ai "group:$GRP:allow \
execute,search,directory_inherit" {} +
Ich weiss - sieht dreckskompliziert aus.
Unter uns, ein Geheimnis: Das isses auch.
Sagte ich schon, dass ACL (imho) die dümmste Erfindung seit dem elektrischen Flaschenöffner sind?
Naja, du siehst ja selber was man da aufwenden muss, um ein rundum "sauberes" Verhalten hinzubekommen.
Not as cool as it could be, if ...
... würde man
von Anfang an einen Server nur mit der Server.app aufsetzen und erst danach mit Daten befüllen.
Und natürlich auch Benutzer und Gruppen vom Server verwalten lassen, nicht von den lokalen Clients selbst - dafür wäre er ja in erster Linie da. (Beim nächsten Mac weisst du's schon vorher.)