I comandi elencati qui sotto servono a modificare il proprietario o il gruppo proprietario di un file, o i suoi permessi. Abbiamo visto in cosa consistono i permessi nel capitolo Concetti base di Unix del Manuale utente.
La sintassi del comando chown (CHange OWNer) è la seguente:
chown [opzioni] <utente[.gruppo]> <file|directory> [file|directory...] |
Le opzioni includono:
-R: modalità ricorsiva; per cambiare il proprietario di tutti i file e le directory presenti in una directory.
-v: modalità prolissa; descrive tutte le operazioni compiute dal comando chown; riporta quali file hanno cambiato proprietario e quali sono rimasti invariati.
-c: simile all'opzione -v, ma riporta solo quali file sono cambiati.
Alcuni esempi:
chown nobody /shared/book.tex: cambia il proprietario del file /shared/book.tex in nobody.
chown -Rc amidala.music *.mid concerts/: attribuisce la proprietà di tutti i file nella directory corrente il cui nome termina con .mid e di tutti i file e le sotto-directory nella directory concerts/ all'utente amidala e al gruppo music, elencando solo i file modificati dal comando.
Il comando chgrp (CHange GRouP) vi consente di cambiare il gruppo proprietario di uno o più file; la sua sintassi è molto simile a quella di chown:
chgrp [opzioni] <gruppo> <file|directory> [file|directory...] |
chgrp disk /dev/hd* |
Il comando chmod (CHange MODe) ha una sintassi molto particolare. La sintassi generica è:
chmod [opzioni] <cambio modo> <file|directory> [file|directory...] |
in ottale: in questo caso i permessi dell'utente proprietario sono indicati nella forma <x>00, dove <x> corrisponde al permesso assegnato: 4 per il permesso di lettura, 2 per quello di scrittura e 1 per quello di esecuzione; allo stesso modo i permessi del gruppo proprietario vengono espressi come <x>0 e i permessi per gli altri utenti ("others") nella forma <x>. Pertanto tutto quello che dovete fare è sommare insieme i permessi per ottenere la cifra corretta. Quindi i permessi rwxr-xr-- corrispondono a 400+200+100 (diritti del proprietario, rwx) +40+10 (diritti del gruppo, r-x) +4 (diritti degli altri, r--) = 754; in questo modo, i permessi vengono espressi in forma assoluta. Questo significa che i permessi assegnati in precedenza vengono sovrascritti;
con delle espressioni: in questo caso i permessi vengono indicati da una sequenza di espressioni separate da virgole, da specificare nel formato [categoria]<+|-><permessi>.
La categoria può essere indicata da una o più lettere:
u (User, permessi del proprietario);
g (Group, permessi per il gruppo proprietario);
o (Others, permessi per "gli altri").
Se non viene specificata una categoria, il cambiamento si applica a tutte. Un segno + assegna un permesso, un segno - lo rimuove. Per finire, i permessi vanno indicati da una o più lettere:
r (Read);
w (Write);
x (eXecute).
Le opzioni principali sono molto simili a quelle dei comandi chown o chgrp:
-R: cambia i permessi in modo ricorsivo.
-v: modalità prolissa, riporta le operazioni effettuate per ciascun file.
-c: simile all'opzione -v, ma mostra solo i file per cui sono stati modificati i permessi.
Esempi:
chmod -R o-w /shared/docs: rimuove ricorsivamente il permesso di scrittura per gli "altri" su tutti i file e le sotto-directory della directory /shared/docs/.
chmod -R og-w,o-x private/: rimuove ricorsivamente il permesso di scrittura per il gruppo e gli "altri" sull'intera directory private/, e rimuove il permesso di esecuzione per gli altri.
chmod -c 644 miscellaneous/file*: modifica i permessi per tutti i file nella directory miscellaneous/ il cui nome comincia per file, impostandoli come rw-r--r-- (ovvero permesso di lettura per tutti e permesso di scrittura solo per il proprietario) visualizzando solo i file i cui permessi sono stati effettivamente modificati.
Indietro | Partenza | Avanti |
Introduzione alla linea di comando | Risali | I caratteri speciali (meta-caratteri) e le espressioni regolari nella shell |