imposta automaticamente sudo chmod 777

2

c'è un modo per impostare automaticamente sudo chmod 777 per tutti i file, cartelle e sottocartelle in una directory. Il sudo chmod 777 dovrebbe essere impostato automaticamente quando viene creata una cartella o un file nella directory superiore.

C'è un modo per farlo?

    
posta SRC SRC 29.05.2014 - 12:31

2 risposte

3

Un modo che viene in mente è il comando setfacl . Ecco una guida Ubuntu su come abilitare ACL (access control lists) per un punto di montaggio. Per riassumere, installa il pacchetto pertinente

sudo apt-get install acl

quindi, aggiungi l'opzione 'acl' al punto di mount in / etc / fstab

UUID=07aebd28-24e3-cf19-e37d-1af9a23a45d4 /home ext4 defaults,acl 0 2

infine, rimonta l'unità in modo che le modifiche abbiano effetto

sudo mount -o remount /home

Dopo aver fatto ciò, puoi usare setfacl e getfacl per impostare le opzioni per qualsiasi directory o file in particolare. Le opzioni ACL per le directory includono anche la possibilità di impostare le autorizzazioni predefinite per nuovi file e sottocartelle con comandi come i seguenti:

setfacl -d -m u::rwx /folder/to/modify  # Default permissions for owning user
setfacl -d -m g::rwx /folder/to/modify  # Default permissions for owning group
setfacl -d -m o::rwx /folder/to/modify  # Default permissions for others

Per riferimento, ecco la pagina man per setfacl. Inoltre, mentre queste autorizzazioni verranno applicate automaticamente ai file secondari e alle cartelle appena create, setfacl può ancora essere utilizzato per modificare i diritti dopo il fatto, se lo si desidera. Infine, dopo aver abilitato gli ACL, puoi vedere quali file / cartelle hanno un ACL replicato nell'output del tuo comando ls -l cercando un simbolo + dopo le autorizzazioni. Ad esempio,

-rw-r--r--+  # Has ACL applied
-rw-r--r--   # No ACL applied
    
risposta data rocketman10404 29.05.2014 - 14:26
2

In bash esegui umask 000 e poi ogni directory che crei avrà i permessi 777 e ogni file che hai creato avrà le autorizzazioni 666. Non puoi creare file eseguibili per impostazione predefinita, devi esplicitamente farli usando chmod. È una funzione di sicurezza.

Si noti che umask è "bit per bit xor" delle autorizzazioni file desiderate e per ottenere la modalità più permissiva di 777 è necessario usare umask 000.

Nei recenti sistemi Ubuntu hai impostato l'umask del sistema nel file /etc/login.defs . I sistemi precedenti utilizzano /etc/profile .

Tieni presente che le persone che creano sistemi operativi conoscono un paio di cose sulla sicurezza e hanno scelto umask 022 per un motivo. Renderai il tuo computer piuttosto insicuro se segui questo consiglio.

    
risposta data sмurf 29.05.2014 - 14:18

Leggi altre domande sui tag