GNU/Linux >> Linux Esercitazione >  >> Linux

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

Per impostare il gruppo, dai /var/www il setgid bit:

chgrp www-data /var/www
chmod g+s /var/www

Per modificare anche le sottodirectory:find /var/www -type d -exec chmod g+s {} +

Questo farà sì che tutti i file appena creati ereditino il gruppo della directory padre, invece di quello dell'utente.

Per impostare le autorizzazioni di gruppo predefinite, dovrai utilizzare ACL . Imposta un ACL "predefinito":

setfacl -m "default:group::rwx" /var/www

Per modificare anche le sottodirectory:find /var/www -type d -exec setfacl -m d:g::rwx {} +

Nota:il file system deve avere il supporto ACL abilitato. A volte è attivo per impostazione predefinita; su ext3 o ext4 potresti ottenere "Operazione non supportata", nel qual caso deve essere abilitato manualmente:

  • Per un filesystem attualmente montato:mount -o remount,acl /

  • Permanentemente – uno dei metodi seguenti:

    • a livello fstab:modifica /etc/fstab avere acl nel campo delle opzioni

    • a livello di filesystem:tune2fs -o acl /dev/diskname


Questo potrebbe aver bloccato alcune persone con la risposta "grawity" su setgid, se il gruppo della cartella è diverso dal tuo potresti dover eseguire chmod come root ma non riceverai alcun errore che indichi che devi farlo.

$ ls -ld dir
drwxrwxr-x 2 luke testgroup 4096 Mar  9 10:44 dir

$ chmod g+s dir                                    #no errors

$ ls -ld dir
drwxrwxr-x 2 luke testgroup 4096 Mar  9 10:44 dir  #but nothing changed

$ touch dir/nosudo && ls -l dir/
-rw-rw-r-- 1 luke luke 0 Mar  9 10:51 nosudo       #and the group is still wrong


$ sudo chmod g+s dir

$ ls -ld dir
drwxrwsr-x 2 luke testgroup 4096 Mar  9 10:44 dir  #the setgid bit is now on

$ touch dir/withsudo && ls -l dir/
-rw-rw-r-- 1 luke luke      0 Mar  9 10:51 nosudo
-rw-rw-r-- 1 luke testgroup 0 Mar  9 10:51 withsudo #and group is set

Linux
  1. Per modificare l'autorizzazione per directory e file

  2. Linux:come impostare le autorizzazioni file predefinite per tutte le cartelle/file in una directory?

  3. Linux:problemi di autorizzazione per directory condivisa su un server?

  4. Come gestire le autorizzazioni/proprietà di file e directory in Linux

  5. Come posso forzare autorizzazioni specifiche per nuovi file/cartelle sul file server Linux?

Come contare il numero di file e sottodirectory all'interno di una determinata directory

Come modificare i permessi per file e directory

Come copiare file e directory in Linux

Come eseguire il tar di tipi di file specifici (estensioni) in una directory

Come contare il numero di file e sottodirectory all'interno di una directory

Come impostare i permessi Linux per la cartella WWW?