Ho una cartella la cui autorizzazione è impostata su 777 ma quando aggiungo file o cartelle decomprimi in quella cartella. I file estratti o i permessi delle cartelle non cambiano mai. L'autorizzazione per la cartella di destinazione è 777 e voglio che ciò che aggiungerò in quella cartella ottenga automaticamente l'autorizzazione di 777.
Quando aggiungo file o cartelle estraendo .zip in quella cartella, i permessi per cartelle/file estratti non cambieranno automaticamente. Devo sempre chmod per aggiungere di recente file/cartelle!
Risposta accettata:
Quello che vuoi si chiama ACL – Liste di controllo accessi.
L'elenco di controllo degli accessi (ACL) fornisce un meccanismo di autorizzazione aggiuntivo e più flessibile per i file system. È progettato per aiutare con
i permessi dei file UNIX. ACL ti consente di concedere autorizzazioni per qualsiasi utente
o gruppo a qualsiasi risorsa disco.
acl
il pacchetto dovrebbe essere già installato, per verificarlo esegui:dpkg -s acl
.
Per utilizzare ACL devi abilitarlo per il tuo filesystem. Ma può essere già abilitato . Per verificarlo usa tune2fs -l
. Sostituisci /dev/sda6
per il tuo sistema:
$ tune2fs -l /dev/sda6 | grep "Default mount options:"
Default mount options: user_xattr acl
Se vedi acl word – è già abilitato per il dispositivo /dev/sda6
.
Se non vedi acl word – esegui tune2fs -o acl /dev/sda6
per abilitarlo.
Per modificare l'ACL, usa setfacl comando. Per aggiungere autorizzazioni, usa setfacl -m .
Per impostare il permesso per l'utente:
$ setfacl -m "u:username:rwx" /path/to/folder
Questo imposterà rwx
ACL, per l'utente username
a /percorso/a/cartella. Ciò significa che tutti i file creati in questa cartella avranno rwx
autorizzazione per username
.
Per impostare l'autorizzazione per il gruppo:
$ setfacl -m "g:groupname:rwx" /path/to/folder
Questo imposterà rwx
ACL, per il gruppo groupname
a /percorso/a/cartella. Ciò significa che tutti i file creati in questa cartella avranno rwx
autorizzazione per il gruppo groupname
.
Per impostare i permessi per altri:
$ setfacl -m "o:rwx" /path/to/folder
Questo imposterà rwx
ACL, per altro in /percorso/a/cartella. Ciò significa che tutti i file creati in questa cartella avranno rwx
permesso per altri.
Per verificare l'autorizzazione:
$ getfacl /path/to/folder
Per combinare acl
$ setfacl -m u:username:rwx,g:groupname:rwx,o:rwx /path/to/folder
ACL predefinito
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.
Quindi, se imposti l'ACL predefinito, sarebbe preferito ACL. Ciò significa che se si imposta ACL per user
o group
, il nuovo file creato erediterà default acl comunque . Fai attenzione con l'ACL predefinito.
Per impostare l'acl predefinito usa -d
chiave,
$ setfacl -d -m u::rwx,g::rwx,o::rwx /path/to/folder
oppure usa default
parola
$ setfacl -m default:u::rwx,default:g::rwx,default:o::rwx /path/to/folder
Prestare attenzione con l'impostazione dell'ACL predefinito. Ad esempio se impostato in questo modo:
$ setfacl -d -m o:--x /path/to/folder
e ora recupera questo 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
L'ACL predefinito per il gruppo e l'utente sarà rwx
automaticamente!
Rimuovi ACL
$ setfacl -b /path/to/folder
Questo rimuoverà tutti gli ACL dalla cartella
Finalmente
Se sei solo un utente nel sistema, ti consiglio di utilizzare l'ACL predefinito.
$ setfacl -d -m u::rwx,g::rwx,o::rwx /path/to/folder
Questo farà ciò che vuoi per /percorso/della/cartella
Fonti
archlinux – https://wiki.archlinux.org/index.php/Access_Control_Lists
help.ubuntu – https://help.ubuntu.com/community/FilePermissionsACLs