Was Sie wollen, heißt ACL - Access Control Lists .
Die Zugriffssteuerungsliste (Access Control List, ACL) bietet einen zusätzlichen, flexibleren Berechtigungsmechanismus für Dateisysteme. Es wurde entwickelt, um UNIX-Dateiberechtigungen zu unterstützen. Mit ACL können Sie jeder Disc-Ressource Berechtigungen für jeden Benutzer oder jede Gruppe erteilen.
acl
Paket sollte bereits installiert sein, um zu überprüfen, ob es ausgeführt wird : dpkg -s acl
.
Um ACLs zu verwenden, sollten Sie sie für Ihr Dateisystem aktivieren. Es kann aber bereits aktiviert werden . Um es zu überprüfen, verwenden Sie tune2fs -l
. Ersatz /dev/sda6
für Ihr System:
$ tune2fs -l /dev/sda6 | grep "Default mount options:"
Default mount options: user_xattr acl
Wenn Sie acl word sehen, ist es bereits für das Gerät aktiviert /dev/sda6
.
Wenn Sie kein acl- Wort sehen, führen Sie es aus tune2fs -o acl /dev/sda6
, um es zu aktivieren.
Verwenden Sie zum Ändern der ACL den Befehl setfacl . Verwenden Sie setfacl -m, um Berechtigungen hinzuzufügen .
So legen Sie die Berechtigung für den Benutzer fest:
$ setfacl -m "u:username:rwx" /path/to/folder
Dadurch wird die rwx
ACL für den Benutzer username
auf / path / to / folder festgelegt. Dies bedeutet, dass alle in diesem Ordner erstellten Dateien die rwx
Berechtigung für haben username
.
So legen Sie die Berechtigung für die Gruppe fest:
$ setfacl -m "g:groupname:rwx" /path/to/folder
Dadurch wird die rwx
ACL für die Gruppe groupname
in / path / to / folder festgelegt. Dies bedeutet, dass alle in diesem Ordner erstellten Dateien die rwx
Berechtigung zum Gruppieren haben groupname
.
So legen Sie die Berechtigung für andere fest:
$ setfacl -m "o:rwx" /path/to/folder
Dadurch wird die rwx
ACL für andere Ordner in / path / to / festgelegt. Dies bedeutet, dass alle in diesem Ordner erstellten Dateien rwx
Berechtigungen für andere haben.
So überprüfen Sie die Berechtigung:
$ getfacl /path/to/folder
Acl zu kombinieren
$ setfacl -m u:username:rwx,g:groupname:rwx,o:rwx /path/to/folder
Standard-ACL
The new object inherits the default ACL of the containing directory as its
access ACL.
If no default ACL is associated with a directory, the mode parameter to the func‐
tions creating file objects and the file creation mask (see umask(2)) are used to
determine the ACL of the new object:
The new object is assigned an access ACL containing entries of tag types
ACL_USER_OBJ, ACL_GROUP_OBJ, and ACL_OTHER. The permissions of these entries
are set to the permissions specified by the file creation mask.
Wenn Sie also die Standard-ACL festlegen, wird diese ACL bevorzugt . Das heißt , wenn Set ACL für user
oder group
, neu erstellte Datei erben würde die Standard acl sowieso . Gehen Sie vorsichtig mit der Standard-ACL um.
Um die Standard-ACL festzulegen, verwenden Sie den -d
Schlüssel.
$ setfacl -d -m u::rwx,g::rwx,o::rwx /path/to/folder
oder benutze ein default
Wort
$ setfacl -m default:u::rwx,default:g::rwx,default:o::rwx /path/to/folder
Seien Sie vorsichtig beim Festlegen der Standard-ACL. Zum Beispiel, wenn so eingestellt:
$ setfacl -d -m o:--x /path/to/folder
und holen Sie jetzt diese ACL
$ getfacl /path/to/folder
# file: path/to/folder
# owner: c0rp
# group: c0rp
user::rwx
group::rwx
other::--x
default:user::rwx
default:group::rwx
default:other::--x
Standard-ACL für Gruppe und Benutzer wird rwx
automatisch!
ACL entfernen
$ setfacl -b /path/to/folder
Dadurch werden alle ACLs aus dem Ordner entfernt
Schließlich
Wenn Sie nur Benutzer im System sind, empfehle ich die Verwendung der Standard-ACL.
$ setfacl -d -m u::rwx,g::rwx,o::rwx /path/to/folder
Dies wird tun, was Sie für / path / to / folder wollen
Quellen
archlinux - https://wiki.archlinux.org/index.php/Access_Control_Lists
help.ubuntu - https://help.ubuntu.com/community/FilePermissionsACLs