Chmod, guida rapida a uno dei principali comandi Linux

Oggi voglio parlarvi di chmod, change mode, che come si può intuire dal nome, ci permette di cambiare i permessi (modalità) di file e cartelle. Chmod è uno dei comandi basilari dei sistemi Linux, tanto da essere già prsente nella prima versione Unix di AT&T. Insomma, è fondamentale che tutti gli utenti Linux lo sappiano usare. A differenza dei comandi che ho presentato fin ora, chmod è un pelino meno intuitivo, ma vedrete che, una volta imparato il meccanismo, usarlo sarà veramente un gioco da ragazzi. Eccone le basi:
I permessi sono:

r – lettura
w – scrittura
x – esecuzione

I tre permessi vanno applicati a seconda di chi utilizza il file e cioè:

u – proprietario
g – utenti del gruppo
o – tutti gli altri utenti

Al posto di queste sigle è convenzione usare gli ottali, numeri che ci permettono di impostare i permessi. Di solito si opta per i valori ottali, perchè sono più comodi.

1 = abilità esecuzione
2 = abilità scrittura
4 = abilità lettura

Questi numeri vanno sommati, a seconda dei permessi che vogliamo dare. Se vogliamo abilitarli tutti e trè dovremo scrivere 7. Con il comando chmod possiamo usare tre cifre, la prima è la somma dei permessi per il proprietario u, la seconda per i gruppi g, la terza per gli altri o. In realtà le cifre sarebbero quattro, perchè ci sono anche i modi speciali, in tal caso quella dei permessi speciali sarebbe la prima cifra. I modi speciali sono:

1 = sticky bit = Se applicato ad una directory, ogni file in essa contenuto può essere modificato o cancellato solo dal rispettivo proprietario, o dal proprietario della cartella o da root. Se non attivo, tutti gli utenti con accesso in scrittura alla cartella possono modificare e cancellare file, indipendentemente da chi ne sia il proprietario. Questo bit è comunemente applicato a directory come /tmp, che devono essere accessibili in scrittura da tutti gli utenti, ma deve essere ugualmente impedita l’interferenza fra i diversi utenti.

2 = SGID bit = Se applicato ad una directory, i file in essa creati appartengono al gruppo del proprietario della directory, piuttosto che al gruppo di default dell’utente che li crea; se applicato ad un file, quando eseguito esso gira con i permessi del gruppo del proprietario del file, piuttosto che con quelli del gruppo dell’utente che lo sta eseguendo. Questo bit risulta utile se applicato ad una directory nella quale lavora un gruppo di diversi utenti: tutti i file in essa creati avranno il GID (Group identifier) del gruppo, anziché quelli dei gruppi di default di ogni singolo utente (che sono potenzialmente diversi l’uno dall’altro).

4 = SUID bit = Se applicato ad una directory, i file in essa creati appartengono al proprietario della directory, piuttosto che all’utente che li crea; se applicato ad un file, quando eseguito esso gira con i permessi del proprietario del file, piuttosto che con quelli dell’utente che lo sta eseguendo. Questa funzionalità è utile per permettere delle operazioni eccezionali, che richiedono i privilegi di root, ai comuni utenti di un sistema (come cambiare la propria password o fare un ping): contemporaneamente, però, comporta dei rischi per la sicurezza se usata in maniera inappropriata.

Le tre definizioni dei modi speciali le ho copiate pari pari da Wikipedia.

Ma ora passiamo agli esempi che chiariranno ulteriormente le idee:
ugo
sudo chmod 666 file.txt scrittura e lettura a tutti
sudo chmod 644 /cartella scrittura e lettura al proprietario, solo lettura agli altri
sudo chmod ug+x aggiunge esecuzione al proprietario e ai gruppi
sudo chmod ug-x toglie il permesso di esecuzione al proprietario e ai gruppi
sudo chmod u=rw,go= scrittura e lettura al proprietario, nessuno agli altri due

Con anche i modi speciali

sudo chmod 0777 i tre permessi a tutti, e nessun modo speciale (lo zero può anche non essere scritto)
Sudo chmod 1777 gli stessi permessi del comando di prima, con le caratteristiche dello Stiky beat.

Insomma, questo è il funzionamento di chmod, spero di venire in contro a chi all’inizio si trova spiazzato di fronte a questo comando composto di lettere e numeri. Come vedete, una volta capito il meccanismo è veramente facile da usare. Sono inoltre sicuro che una ripassatina faccia bene a tutti.

Questa è la pagina in italiano di Wikipedia, dove potrete trovare anche un accenno alle principali opzioni (modificatori)

Annunci

3 Risposte to “Chmod, guida rapida a uno dei principali comandi Linux”

  1. bella guida complimenti 😀

  2. Una guida molto utile.. grazie

  3. Grazie… mi è stato veramente utile leggere questa guida.

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger hanno fatto clic su Mi Piace per questo: