Diese Frage passt gut zu Linux acl
. Da Sie Ihr Betriebssystem nicht angeben, gehe ich im Folgenden von Linux aus. Hier ist eine Beispielsitzung.
Ich kenne kein wirklich gutes acl
Tutorial, aber Sie könnten es schlechter machen als http://www.vanemery.com/Linux/ACL/linux-acl.html
Beachten Sie, dass sich die Standardeinstellung acl
wie eine lokale Umask verhält. Da umasks zumindest unter Linux global angewendet werden, ist dies der einzige Weg, den ich kenne, um den Effekt einer lokalen umask zu erzielen. Aus irgendeinem Grund ist dies ein wenig bekanntes Feature. Das Netz ist mit Leuten übersät, die nach einem lokalen Umask-Override fragen, aber fast niemand scheint daran zu denken, ihn zu benutzen acl
.
Beachten Sie auch, dass Sie die Partition, in der Sie arbeiten, mit acl
Unterstützung mounten müssen , z.
/dev/mapper/debian-acl /mnt/acl ext3 defaults,acl 0 2
Sitzung folgt:
/mnt/acl$ mkdir foo
/mnt/acl$ getfacl foo
# file: foo
# owner: faheem
# group: faheem
user::rwx
group::r-x
other::r-x
Legen Sie die Gruppe von foo
zu staff
und die ACL von Gruppe und Benutzer von foo
zu fest rwx
.
/mnt/acl$ chgrp staff foo
/mnt/acl$ setfacl -R -m u::rwx,g::rwx foo
/mnt/acl$ getfacl foo
# file: foo
# owner: faheem
# group: staff
user::rwx
group::rwx
other::r-x
Setzen Sie auch die Standard-Acls von Benutzer und Gruppe auf rwx
. Dies definiert Berechtigungen, von denen Dateien und Verzeichnisse erben foo
. Alle unter foo erstellten Dateien und Verzeichnisse haben also Gruppenberechtigungen rw
.
/mnt/acl$ setfacl -d --set u::rwx,g::rwx,o::- foo
/mnt/acl$ getfacl foo
# file: foo
# owner: faheem
# group: staff
user::rwx
group::rwx
other::r-x
default:user::rwx
default:group::rwx
default:other::---
Erstellen Sie nun einige Dateien foo
als Benutzer faheem
und john
.
/mnt/acl$ cd foo
/mnt/acl/foo$ touch bar
# switch to user john for this next command.
/mnt/acl/foo$ touch baz
Dateien auflisten. Beachten Sie, dass sowohl Dateien im Besitz faheem
als auch Dateien im Besitz von john
mit Gruppenberechtigungen erstellt werden rw
.
/mnt/acl/foo$ ls -la
total 3
drwxrwxr-x+ 2 faheem staff 1024 May 9 01:22 .
drwxr-xr-x 4 faheem faheem 1024 May 9 01:20 ..
-rw-rw---- 1 faheem faheem 0 May 9 01:20 bar
-rw-rw---- 1 john john 0 May 9 01:22 baz