Angenommen, ich habe zwei Benutzer Alice und Bob und eine Gruppe GROUPNAME und einen Ordner foo
, beide Benutzer sind Mitglieder von GROUPNAME (mit Linux und ext3).
Wenn ich als Benutzer Alice eine Datei unter foo
speichere , die Berechtigungen sind:-rw-r--r-- Alice Alice
. Ist es jedoch möglich, dass jede Datei in einem Unterverzeichnis von foo
gespeichert wird hat die Berechtigungen -rwxrwx--- Alice GROUPNAME
(z. B. Inhaberin Alice, Gruppe GROUPNAME)?
Akzeptierte Antwort:
Sie können die zugewiesenen Berechtigungsbits mit umask
steuern , und die Gruppe, indem Sie das Verzeichnis setgid erstellen an GROUPNAME
.
$ umask 002 # allow group write; everyone must do this
$ chgrp GROUPNAME . # set directory group to GROUPNAME
$ chmod g+s . # files created in directory will be in group GROUPNAME
Beachten Sie, dass Sie chgrp
ausführen müssen /chmod
für jedes Unterverzeichnis; es wird nicht automatisch weitergegeben (d. h. weder vorhandene noch nachträglich erstellte Verzeichnisse unter einer setgid Verzeichnis wird setgid sein , obwohl letzteres in der Gruppe GROUPNAME
sein wird ).
Beachten Sie auch, dass umask
ist ein Prozessattribut und gilt für alle Dateien, die von diesem Prozess und seinen Kindern erstellt wurden (die den umask
erben wirksam in ihrem Elternteil bei fork()
Zeit). Benutzer müssen dies möglicherweise in ~/.profile
festlegen , und müssen möglicherweise auf Dinge achten, die nichts mit Ihrem Verzeichnis zu tun haben und andere Berechtigungen benötigen. Module können nützlich sein, wenn Sie unterschiedliche Einstellungen benötigen, wenn Sie verschiedene Dinge tun.
Sie können die Dinge etwas besser kontrollieren, wenn Sie POSIX-ACLs verwenden können; es sollte möglich sein, sowohl eine Berechtigungsmaske als auch eine Gruppe anzugeben und sinnvoll propagieren zu lassen. Die Unterstützung für POSIX-ACLs ist jedoch etwas variabel.