• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Rechtevergabe mit ACL klappt nicht

Suse99

Newbie
Hallo,
ich versuche jetzt seit 2 Tagen ein Verzeichnis zu erstellen, in dem der User Frank sowohl auf eigene Dateien als auch die von User Tom Lese- und Schreibzugriff hat. Ferner soll Frank auf alle von User Tom in diesem Verzeichnis neu erstellten Unterverzeichnisse ebenfalls vollen Zugriff haben. So etwas soll ja mit ACL´s gehen:

Zuerst setze ich die Maske:

setfacl -d -m m::rwx Verzeichnis

Dann gebe ich User Frank die Rechte:

setfacl -d -m u:Frank:rwx Verzeichnis

Die Syntax scheint in Ordnung, ich kann das Ergebnis mit

getfacl Verzeichnis

überprüfen. Die Maske zeigt wie gewünscht rwx an, aber sobald Tom eine Datei ins Verzeichnis kopiert, ändert sich die Maske der Datei zu r--, was dazu führt, daß User Frank effektiv nur Lesezugriff hat. Wo liegt der Fehler?

edit: Ich bemerke gerade, daß User Frank von User Tom erstellte Dateien durchaus bearbeiten kann, ebenso von Tom hineinkopierte Dateien. Was aber nicht geht, sind von Tom hineinkopierte Verzeichnisse. Die darin enthaltenen Dateien lassen sich nur von Tom bearbeiten. User Frank hat nur Lesezugriff. Wie kann man das ändern?


Danke, Frank
 

rolle

Guru
Lösche doch einmal alle ACLs am Stammverzeichnis, um das es geht. Dann setze die ACLs wie folgt:
'setfacl -R -m u:Tom:rwx VERZEICHNIS'
'setfacl -R -d -m u:Tom:rwx VERZEICHNIS'
'setfacl -R -m u:Frank:rwx VERZEICHNIS'
'setfacl -R -d -m u:Frank:rwx VERZEICHNIS'
So hat es bei mir eigentlich immer geklappt.
 
OP
S

Suse99

Newbie
Hallo Roland,

vielen Dank für Deinen Beitrag! Bei meinen früheren Versuchen klappte die R-Option, also die rekursive Rechtevergabe, allerdings schon bei der Eingabe des setfacl-Befehls nicht. Vermutlich war meine Syntax nicht korrekt.
Außerdem war ich davon ausgegangen, daß nur Rechte von vorhandenen Dateien im bezeichneten Verzeichnisbaum rekursiv geändert werden.

Ich komme leider erst am Mittwoch dazu, es auszuprobieren und werde dann berichten.

Gruß Frank
 
OP
S

Suse99

Newbie
Hallo Roland,

ich habe Deinen Vorschlag gerade einmal ausprobiert. Beide User haben tatsächlich im Verzeichnis weitgehende Rechte. Nur wenn einer der User ein komplettes Verzeichnis in das mit setfacl behandelte Verzeichnis hineinkopiert, ist es mit den Schreibrechten für den anderen User vorbei. Die R-Option wirkt nur auf aktuell vorhandene Verzeichnisse, nicht auf später erstellte, die von irgendwoher hineinkopiert wurden.

Ich habe zu diesem Thema noch einen interessanten Thread gefunden:

http://lists.opensuse.org/opensuse-de/2006-12/msg00960.html

Gruß Frank
 
OP
S

Suse99

Newbie
Ich nutze immer den midnight commander. Und wenn ich da ein Verzeichnis von einer NTFS-Partition kopiere, so bleiben die ursprünglichen Rechte 555 auch nach dem Kopieren mit F5 ins Arbeitsverzeichnis bestehen, leider. Welcher Kopierbefehl hier zugrundeliegt, weiß ich allerdings nicht.

Wenn ich den Kopierbefehl des mc dahingehend ändern kann, daß die Rechte den setfacl-Vorgaben folgen, wäre mein Problem allerdings gelöst. Geht das?
 
mc liegt kein Kopier"befehl" zugrunde, es nutzt die Syscalls direkt. Wenn du sagst, dass es die Rechte beibehält, dann ist es eben so. Da kannst du auch nicht viel mehr machen.
 

rolle

Guru
Als Notnagel könntest Du ja noch jede Stunde einen Cronjob laufen lassen, der die ACLs wie gewünscht hinbiegt. Nicht sehr elegant, könnte aber helfen.
 
Also ich hab das gerade mal ausprobiert, weil das war mir dann doch ein bisschen spanisch... also, wenn ich mit "mc" eine blafasel.txt in einen aclordner/ kopiere, dann erbt die Datei auch die Default-ACL des Verzeichnisses. Ja, mit mc.
 
OP
S

Suse99

Newbie
Dann mache ich irgendeinen grundlegenden Fehler. Ich hab es eben selbst noch mal probiert, bei mir vererbt sich nix.

Ich kann erst in einigen Tagen weitere Ursachenforschung betreiben und melde mich dann wieder.

Gruß Frank
 
Oben