Ich habe einen Ordner, dessen Berechtigung auf 777 eingestellt ist, aber wenn ich Dateien oder Ordner hinzufüge, die in diesem Ordner entpackt werden. Extrahierte Dateien oder Ordnerberechtigungen ändern sich nie. Die Berechtigung für den Zielordner ist 777 und ich möchte, dass alles, was ich in diesen Ordner einfüge, automatisch die Berechtigung 777 erhält.
Wenn ich Dateien oder Ordner durch Extrahieren von .zip in diesem Ordner hinzufüge, ändert sich die Berechtigung für extrahierte Ordner/Dateien nicht automatisch. Ich muss immer chmod für neu hinzugefügte Dateien/Ordner!
Akzeptierte Antwort:
Was Sie wollen, heißt ACL – Zugriffskontrolllisten.
Access Control List (ACL) bietet einen zusätzlichen, flexibleren
Berechtigungsmechanismus für Dateisysteme. Es wurde entwickelt, um bei
UNIX-Dateiberechtigungen zu helfen. Mit ACL können Sie jedem Benutzer
oder jeder Gruppe Berechtigungen für jede Disc-Ressource erteilen.
acl
sollte bereits installiert sein, um es zu überprüfen, führen Sie Folgendes aus:dpkg -s acl
.
Um ACLs zu verwenden, sollten Sie es für Ihr Dateisystem aktivieren. Es kann aber bereits aktiviert sein . Verwenden Sie zur Überprüfung tune2fs -l
. Ersetzen Sie /dev/sda6
für Ihr System:
$ tune2fs -l /dev/sda6 | grep "Default mount options:"
Default mount options: user_xattr acl
Wenn Sie acl sehen word – es ist bereits für das Gerät /dev/sda6
aktiviert .
Wenn acl nicht angezeigt wird word – führen Sie tune2fs -o acl /dev/sda6
aus um es zu aktivieren.
Verwenden Sie zum Ändern der ACL setfacl Befehl. Verwenden Sie zum Hinzufügen von Berechtigungen setfacl -m .
So stellen Sie die Berechtigung für den Benutzer ein:
$ setfacl -m "u:username:rwx" /path/to/folder
Dadurch wird rwx
gesetzt ACL, für Benutzer username
nach /Pfad/zum/Ordner. Das bedeutet, dass alle in diesem Ordner erstellten Dateien rwx
haben Berechtigung für username
.
So legen Sie die Berechtigung für die Gruppe fest:
$ setfacl -m "g:groupname:rwx" /path/to/folder
Dadurch wird rwx
gesetzt ACL für die Gruppe groupname
nach /Pfad/zum/Ordner. Das bedeutet, dass alle in diesem Ordner erstellten Dateien rwx
haben Berechtigung für die Gruppe groupname
.
So stellen Sie die Berechtigung für andere ein:
$ setfacl -m "o:rwx" /path/to/folder
Dadurch wird rwx
gesetzt ACL, für andere nach /path/to/folder. Das bedeutet, dass alle in diesem Ordner erstellten Dateien rwx
haben Erlaubnis für andere.
So prüfen Sie die Berechtigung:
$ getfacl /path/to/folder
Um 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, wäre dies bevorzugt ACL. Das heißt, wenn ACL für user
gesetzt ist oder group
, würde die neu erstellte Datei default erben acl trotzdem . Seien Sie vorsichtig mit der Standard-ACL.
Um die Standard-ACL festzulegen, verwenden Sie -d
Schlüssel,
$ setfacl -d -m u::rwx,g::rwx,o::rwx /path/to/folder
oder verwenden Sie default
Wort
$ setfacl -m default:u::rwx,default:g::rwx,default:o::rwx /path/to/folder
Seien Sie vorsichtig mit der Einstellung der Standard-ACL. Zum Beispiel bei folgender Einstellung:
$ setfacl -d -m o:--x /path/to/folder
und jetzt diese ACL holen
$ 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 ist rwx
automatisch!
ACL entfernen
$ setfacl -b /path/to/folder
Dadurch werden alle ACLs aus dem Ordner
entferntEndlich
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
wollenQuellen
archlinux – https://wiki.archlinux.org/index.php/Access_Control_Lists
help.ubuntu – https://help.ubuntu.com/community/FilePermissionsACLs