La sua sintassi è la seguente:
% chmod chi azione cosa nomefile
dove:
- il parametro 'chi' può essere u (user) g (groups)
o (others) a (all indica contemporaneamente i tre tipi di
utente.)
- il parametro 'azione' può essere + (aggiungere)
- (togliere)
- il parametro cosa può essere r (read) w (write)
x (execute)
- il campo 'nomefile' è il file o la directory oggetto
del cambiamento.
Vediamo ora degli esempi pratici. Supponiamo di voler aggiungere
accesso, lettura e scrittura a tutti nella directory pippo:
drwx------ rossi users 512 pippo
Il modo più semplice è
% chmod a+rwx pippo
ovvero "aggiungi (+) a tutti (a) i diritti di lettura
(r), scrittura (w) e accesso (x) al file pippo " (che
poi è una directory perché c'é d).
Il risultato e':
drwxrwxrwx rossi users 512 pippo
Altro esempio. Supponiamo di voler rendere il file
-r-------- verdi users 4096 paperino
leggibile da tutti e scrivibile solo dal proprietario:
% chmod a+r paperino
% chmod u+w paperino
E il risultato è:
-rw-r--r-- verdi users 4096 paperino
Un metodo più sbrigativo per assegnare gli attributi
ad un file si basa sul sistema di numerazione ottale:
supponiamo di attribuire dei valori numerici ai permessi
possibili:
Lettura = 4 (r)
Scrittura = 2 (w)
Esecuzione = 1 (x)
(Ricordatevi che per una directory x significa accesso).
In tale maniera, eseguendo delle semplicissime somme:
0 = Nessun permesso -
1 = Esecuzione x
2 = Scrittura w
3 = Esecuzione + Scrittura wx
4 = Lettura r
5 = Esecuzione + Lettura rx
6 = Scrittura + Lettura rw
7 = Esecuzione + Scrittura + Lettura rwx
Se affianchiamo i tre codici di accesso user/groups/others
otteniamo dei numeri di tre cifre, ognuna delle quali indica
i permessi di ogni tipo di utente in modo sintetico.
Per esempio:
rwxrwxrwx 777
rw-rw-rw- 666
r--r--r-- 444
rwx------ 700
rw-r--r-- 644
e cosi' via.... Perciò è possibile inglobare
in un solo colpo tutti gli accessi di ogni singolo tipo
di utente.
Esiste allora la sintassi alternativa di chmod:
chmod codice nomefile
Esempio. Il secondo esempio sulla prima sintassi di chmod
voleva trasformare
-r-------- verdi users 4096 paperino
nel file:
-rw-r--r-- verdi users 4096 paperino
e necessitava di 2 chmod consecutivi, il primo per assegnare
a+r e il secondo per assegnare u+w. Con la sintassi alternativa
di chmod è possibile fare il tutto in un solo colpo,
usando:
% chmod 644 paperino
Altro esempio. Supponiamo di avere il file
-rw-rw-rw- bianchi superuser 1234 pluto
Se eseguiamo:
% chmod o-rw pluto
oppure
% chmod 660 pluto
invece di ottenere:
-rw-rw---- bianchi superuser 1234 pluto
si ottiene il messaggio:
Permission denied
Questo perchè io (rossi) sto tentando di modificare
gli attributi di un file che non mi appartiene (è
di bianchi)
Se sono proprietario di un file e volessi "regalarlo"
a qualcuno, cioé fare in modo che questo qualcuno
ne divenga il nuovo proprietario, esiste il comando chown
(change owner).
La sua sintassi è:
chown nuovoproprietario.nuovogruppo file
Vediamo gli esempi. Supponiamo che rossi, dopo aver depositato
nella mia directory il file:
-rw-rw-rw- rossi superuser 1234 pluto
voglia fare in modo che esso divenga di mia proprietà.
Dovrà allora eseguire:
% chown verdi.users pluto
Il risultato sarà:
-rw-rw-rw- verdi users 1234 pluto.
|