Permessi

Ogni file sul vostro sistema ha un proprietario (NDT: owner in inglese) — uno degli utenti (normalmente quello che ha creato effettivamente il file stesso) e un sistema di permessi che regolano l'accesso al file.

Per il file normali esistono tre tipi di permessi di accesso: lettura (read), scrittura (write) ed esecuzione (execute), il quale ha senso solo per i file eseguibili). Questi permessi possono essere impostati separatamente per tre categorie di utenti: il proprietario del file, gli utenti del gruppo che possiede il file e tutti gli altri. L'argomento dei gruppi di utenti va al di là degli scopi di questo scritto e gli altri due si spiegano da soli.. In questo modo, se i permessi sul file /home/sasha/talk.txt sono impostati per leggere e scrivere per l'utente sasha, che ne è anche il proprietario, e di sola lettura per tutti gli altri solo sasha potrà modificarlo.

Ogni file appena creato "eredita" i permessi standard, normalmente lettura e scrittura per l'utente e sola lettura per tutti gli altri. Potete visualizzare questi permessi usando il File Manager di GNOME cliccando sopra al file con il tasto destro e scegliendo Proprietà nel menù a comparsa e poi la voce Permessi. Usando questa finestra di dialogo potete anche cambiare i permessi — basta cliccare su un quadratino che rappresenta un permesso per modificarlo. Naturalmente solo il proprietario del file o l'amministratore possono cambiare i permessi di un file. Gli utenti avanzati possono anche cambiare i permessi standard che vengono assegnati a tutti i nuovi file — leggete la pagina del manuale della vostra shell predefinita (normalmente bash, csh o tcsh) e cercate il comando umask.

Un file può anche avere permessi con speciali proprietà come UID, GID e il bit "sticky" che servono solo per gli utenti avanzati — non li cambiate a meno che non sappiate esattamente quello che fate. (Se siete curiosi: questi permessi sono usati normalmente sui file eseguibili per permettere ad utenti normali di eseguire alcuni comandi che devono leggere o modificare file a cui l'utente stesso normalmente non potrebbe accedere).

Così come i file anche le directory hanno i permessi con le stesse tre possibilità: lettura, scrittura ed esecuzione. Nel caso delle directory però questi tre permessi hanno significati diversi: il permesso di "scrittura" per una directory significa la possibilità di elencare i file presenti nella directory oppure di effettuarvi ricerche; il permesso di "scrittura" significa la possibilità di creare ed eliminare file all'interno della directory e il permesso di "esecuzione" dà la possibilità di accedere ai file della directory.

Notate che i permessi dati ad un file dipendono dai permessi associati alla directory nella quale si trova il file: per poter leggere un file l'utente deve avere il permesso di scrittura sul file stesso e il permesso di "esecuzione" per la directory. In questo modo, nel caso in cui l'utente sasha non vuole che nessun altro possa vedere i suoi file può semplicemente eliminare il permesso di esecuzione per la sua directory home per tutti gli altri utenti; nessun altro (escluso chiaramente l'amministratore) potrà così leggere i suoi file, indipendentemente dai permessi di questi.

Una spiegazione dettagliata del sistema di permessi può essere letta, ad esempio nella pagina info del pacchetto GNU File Utilities.