ubuntuusers.de

Samba: force create/directory mode bei erweiterten ACLs (acl_xattr maskieren?)

Status: Gelöst | Ubuntu-Version: Server 18.04 (Bionic Beaver)
Antworten |

bugblatterbeast

Avatar von bugblatterbeast

Anmeldungsdatum:
30. Januar 2008

Beiträge: 477

Hallo,

für eine der Freigaben auf einem Standalone Samba Server (kein AD DC) wurde die Möglichkeit gewünscht, von den Windows-Clients aus Dateien und Ordner zu verstecken. Dies wurde folgendermaßen realisiert:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
[freigabe]
  read only = no
  comment = Freigabe mit extended ACL support
  path = /pfad/zur/freigabe
  force create mode = 0775
  force directory mode = 0775
  oplocks = false
  level2 oplocks = false
  ;; jetzt folgt die Konfiguration der erweiterten ACLs
  vfs objects = acl_xattr
  map acl inherit = yes
  store dos attributes = yes

Leider scheinen die erweiterten ACLs die zuvor verwendeten Optionen force create mode und force directory mode auszuhebeln. Wir haben auf diesem Verzeichnis immer wieder Dateien und Ordner, die nur vom Besitzer aber nicht von der Gruppe geschrieben werden können. Die UNIX Rechte sind immer noch 0775 wie gewünscht, aber angewendet werden die davon abweichenden Rechte aus den ACLs.

  • Hat jemand von Euch eine Idee, wie man eine Freigabe mit erweiterten ACLs so konfigurieren kann, dass immer Gruppen-Schreibrechte bestehen? Wenn man es nicht grundsätzlich erzwingen kann, dann vielleicht wenigstens als Default setzen.

  • Kann man die erweiterten ACLs vielleicht maskieren?

  • Gibt es sonst auf Windows-Seite eine Möglichkeit das einzurichten?

  • Gibt es eine alternative zu dem Befehl chmod, mit dem ich erweiterte ACLs rekursiv setzen kann (vergleichbar mit "chmod -R g+w /pfad/zur/freigabe")?

Gruß

bugblatterbeast

(Themenstarter)
Avatar von bugblatterbeast

Anmeldungsdatum:
30. Januar 2008

Beiträge: 477

Das die Ordner per Default ohne Gruppenschreibrecht angelegt werden passiert anscheinend nur im Standalone Betrieb (wobei dies nicht mit gleicher Samba Version getestet wurde). Auf einer früheren Samba Version, als das Ganze noch als AD DC lief, bekamen neue Ordner (die von Windows Clients aus der Domäne erstellt wurden) automatisch Schreibrecht für die Gruppe.

Ich würde mich an dieser Stelle auch mit einem Workaround zufrieden geben. Es muss keine perfekte Lösung sein. Ich habe bereits an einen Cronjob gedacht, der regelmäßig die Dateirechte aktualisiert. Ich weiß aber leider nicht, wie man die erweiterten Dateirechte per Kommandozeile bearbeitet (chmod funktioniert in diesem Fall nicht wie erwartet).

bugblatterbeast

(Themenstarter)
Avatar von bugblatterbeast

Anmeldungsdatum:
30. Januar 2008

Beiträge: 477

Ich selbst habe leider so gut wie keine Erfahrungen in der Konfiguration von Windows Systemen. Der entsprechende Kollege hat mir aber mitgeteilt, dass er alle Möglichkeiten ausgeschöpft hätte.

Meine ursprüngliche Vermutung war, dass die Einstellung "map acl inherit = yes" dazu führen würde, dass beim Erstellen eines Ordners die Gruppenschreibrechte vom Elternordner übernommen werden. Dies ist aber leider nicht der Fall.

bugblatterbeast

(Themenstarter)
Avatar von bugblatterbeast

Anmeldungsdatum:
30. Januar 2008

Beiträge: 477

Ich hatte ganz vergessen das hier zu posten:

crontab -e

1
2
# m h  dom mon dow   command
  0 *   *   *   *    /bin/setfacl -R -m g:gruppe_fuer_alle:rwx /pfad/zur/freigabe

Jetzt wird auf der gesamten betroffenen Freigabe stündlich und rekursiv das Schreibrecht für die Gruppe aller Benutzer gesetzt. Das ist zwar keine allgemeine Lösung, weil es nun nicht mehr möglich ist, einzelnen Dateien und Ordnern einen Schreibschutz zu geben. Für den speziellen Fall ist es jedoch eine zwar unelegante aber trotzdem völlig ausreichende Lösung.

Antworten |