GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Concedere automaticamente l'autorizzazione per i nuovi file creati all'interno della cartella?

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.

Correlati:come modificare/convertire un'unità Ubuntu Mbr in un Gpt e eseguire l'avvio di Ubuntu da Efi in Ubuntu?

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


Ubuntu
  1. Impostazione predefinita di nuovi file e cartelle secondari alla proprietà della cartella principale?

  2. Clonare a livello di codice /etc/skel per i nuovi utenti?

  3. Come creare una nuova cartella o nuovi file in cPanel File Manager?

  4. Scorciatoia Shell/Bash per la ridenominazione in blocco dei file in una cartella

  5. Come impostare i permessi Linux per la cartella WWW?

7 fantastici nuovi lettori musicali per Linux

8 comandi fondamentali di gestione dei file Linux per i nuovi utenti

N Ftp Client (gui) che mi consente di cercare testo all'interno di file?

Cerca file con Gui?

Come posso forzare il gruppo e le autorizzazioni per i file creati all'interno di una directory specifica?

script per monitorare i nuovi file in una cartella condivisa (host Windows, guest Linux)