Skip to content

Permessi dei file Linux spiegati

Modalità ottali e simboliche per chmod, più i bit setuid, setgid e sticky.

Ogni file ha tre classi: proprietario, gruppo e altri. Ogni classe somma tre bit: lettura vale 4, scrittura 2, esecuzione 1. Tre cifre ottali formano la modalità.

Tabella di riferimento · 42 voci
42 of 42 rows
Numerico (ottale)
Proprietario con accesso completo; gruppo e altri leggono ed eseguono.chmod 755 script.sh
Proprietario legge e scrive; gruppo e altri solo lettura.chmod 644 notes.txt
Solo il proprietario legge e scrive; nessun accesso per gli altri.chmod 600 ~/.ssh/id_rsa
Solo il proprietario ha accesso completo; nessun accesso per gli altri.chmod 700 ~/.ssh
Accesso completo per tutti. Un rischio per la sicurezza.chmod 777 shared/
Tutti leggono e scrivono. Nessun bit di esecuzione impostato.chmod 666 log.txt
Proprietario con accesso completo; gruppo legge ed esegue; altri nessun accesso.chmod 750 app/
Solo esecuzione, per tutte le classi. Una directory si può attraversare ma non elencare.chmod 111 dir/
Nessun accesso per nessuna classe. Root può comunque leggere il file.chmod 000 private.key
Proprietario e gruppo con accesso completo più setgid; lo schema tipico delle directory di team condivise.chmod 2775 /srv/team
Risultati di umask
Maschera predefinita. I nuovi file ottengono 644; le nuove directory 755.umask 022
Maschera privata. I nuovi file ottengono 600; le nuove directory 700.umask 077
Simbolico
Aggiunge l'esecuzione al proprietario.chmod u+x deploy.sh
Rimuove la scrittura al gruppo.chmod g-w config.yml
Rimuove la lettura agli altri.chmod o-r secret.env
Imposta la sola lettura per tutte le classi.chmod a=r readme.md
Concede tutti i permessi a tutte le classi.chmod ugo+rwx public/
Bit speciali
Bit setuid impostato. Il binario gira con i privilegi del proprietario del file.chmod 4755 /usr/bin/passwd
Bit setgid impostato. I nuovi file e le nuove sottodirectory ereditano il gruppo della directory.chmod 2755 /shared
Bit sticky impostato. Solo il proprietario del file può eliminare.chmod 1777 /tmp
Bit sticky su un file regolare. Un suggerimento legacy di keep-in-swap che il Linux moderno ignora.chmod 1755 legacy.sh
Comandi
Cambia i bit di modo di un file.chmod 755 file
Cambia proprietario e gruppo di un file.chown user:group file
Cambia il gruppo proprietario di un file.chgrp devs file
Imposta la maschera di permessi predefinita per i nuovi file.umask 022
Elenca i file con i permessi in formato lungo.ls -l /etc
Mostra le voci POSIX ACL di un file.getfacl report.pdf
Imposta o modifica voci POSIX ACL.setfacl -m u:alice:rw report.pdf
Trova i file i cui bit di permesso corrispondono a una modalità.find / -perm /4000
Stampa i metadati del file, incluso il modo ottale.stat -c '%a %n' file
Elenca i permessi di ogni componente di un percorso.namei -l /var/www/index.html
Cambia un attributo del file, come immutable.chattr +i /etc/resolv.conf
Elenca gli attributi dei file.lsattr /etc/resolv.conf
Mostra le capability concesse a un file.getcap /usr/bin/ping
Concede una capability a un file, senza setuid.setcap 'cap_net_raw=+ep' /usr/bin/ping
Elenca le capability effettive per la shell corrente.capsh --print
Mostra user id, group id e appartenenze ai gruppi di un utente.id alice
Elenca i gruppi a cui appartiene un utente.groups alice
Esegue un comando come altro utente secondo la policy sudoers.sudo systemctl restart nginx
Modifica il file sudoers con controllo della sintassi.visudo
Passa a un altro account utente.su - deploy
Avvia una shell con un gruppo primario diverso.newgrp developers