Linux: Modificare permessi ricorsivamente su file e cartelle
Sotto Linux, spesso abbiamo necessità di aggiustare i permessi di alcune cartelle in modo che un utente possa scrivere o semplicemente entrare nelle cartelle. Ricordo che in Linux, ci sono tre check di permessi: utente, gruppo, altri (“ugo” ossia user-group-others) e che il check di esecuzione “x” per le cartelle serve a consentire di entrarci dentro, quindi è necessario anche per la sola lettura.
I check vengono convertiti in numeri ottenendo tre codici da 0 a 7, la cosa è facile da capire se imposti i permessi con un programma interattivo come FileZilla.
In quest’ottica:
- il codice 644 significa lettura+scrittura per proprietario e sola lettura per gruppo e altri.
- il codice 755 significa lettura+scrittura+esecuzione per propietario e lettura+esecuzione per gruppo e altri: va bene per le cartelle.
- 000 significa nessun permesso
- 777 significa tutti i permessi per tutti, da evitare per motivi di sicurezza.
Se stai leggendo questo articolo, hai bisogno di operare su più file a partire da una finestra shell linux, dunque andiamo al sodo….
Ecco un comando che imposta i permessi correttamente (644 e 755) per tutti i file e cartelle, ricorsivamente, a partire dalla cartella in cui ci si trova (.) Per gli hosting linux che uso, per me ha funzionato perfettamente:
find . -type f -exec sh -c 'chmod 644 {}' \; find . -type d -exec sh -c 'chmod 755 {}' \;
Se non funziona, alcuni siti riportano anche questa variante:
chmod 644 $(find . -type f) chmod 755 $(find . -type d)
Ed ecco altri comandi che vanno a settare ricorsivamente utenti e gruppo, a partire dalla sottocartella dir/ in giù:
chown -R utente dir/ chgrp -R gruppo dir/
Ovviamente nel set di comandi precedente devi sostituire a utente e a gruppo l’utente e il gruppo che ti specifico che deve risultare proprietario dei file e delle cartelle.
Lascia un Commento
Vuoi partecipare alla discussione?Sentitevi liberi di contribuire!