Lösung 1:
Ja, ACLs können dies tun.
-
Stellen Sie sicher, dass Ihr Dateisystem mit
acl
gemountet ist . Um dies zu überprüfen, geben Siemount
ein . Sie solltenacl
sehen unter anderen Berechtigungen aufgeführt, z. B./dev/sda1 on / type ext4 (rw,errors=remount-ro,acl)
Wenn es nicht mit acl gemountet ist, öffnen Sie
/etc/fstab
, und fügen Sieacl
hinzu zur Liste der Optionen:# /etc/fstab: static file system information. # # <file system> <mount point> <type> <options> <dump> <pass> /dev/sda1 / ext3 noatime,errors=remount-ro,acl 0 1
Hängen Sie nun das laufende Dateisystem mit den neuen Optionen erneut ein:
mount -v -o remount /
-
Installieren Sie die acl-Dienstprogramme. Unter Ubuntu/Debian ist dies:
sudo apt-get install acl
-
Deine neuen Freunde sind
setfacl
undgetfacl
. Verwenden Siesetfacl
um die Standard-ACL für ein Verzeichnis zu ändern:setfacl -d -m o:r foo
-d
setzt Standard,-m
modifiziert acl undo:r
gewährt "anderen" das Leserecht. Das Festlegen von default für ein Verzeichnis entspricht ungefähr dem Festlegen von setgid für ein Verzeichnis, aber anstatt dass neu erstellte Dateien die Gruppe erben, erben sie die acl. Zusammen können setgid und acl leistungsfähig sein, da Sie einer Gruppe Standardberechtigungen erteilen und neu erstellte Dateien dazu bringen können, zu dieser Gruppe zu gehören, für eine effektive gruppenbasierte umask pro Verzeichnis. -
Überprüfen Sie Ihre Arbeit:
ls -l
sollte jetzt zusätzlich zu den Standard-Dateiberechtigungen ein zusätzliches "+" anzeigen, das auf das Vorhandensein von acl hinweist.% ls -la foo/ drwxr--r--+
Detaillierte Informationen zur ACL erhalten Sie mit
getfacl
.% getfacl foo # file: foo # owner: you # group: you user::rwx group::r-- other::r-- default:user::rwx default:group::--- default:other::r--
Lösung 2:
Sie könnten auch eine umask für das Verzeichnis erzwingen, indem Sie die mask ACL-Eigenschaft wie folgt setzen:
setfacl -d -m mask:07 .