Procédure
Il sistema di permessi di Linux si basa su un modello utente/gruppo che è diventato la base principale della sicurezza di Linux. Agli utenti e ai gruppi vengono concessi diritti su file e directory.
Questa è una delle caratteristiche che rende Linux quasi immune dai virus informatici: i virus devono poter scrivere sui file per poterli infettare ed essere eseguiti in un certo modo per poter infettare altri file, con il sistema di permessi di Linux i virus non possono copiarsi su tutti i file, se l'utente che esegue il virus non ha i permessi sul resto del sistema il virus non sarà in grado di riprodursi.
In Linux esistono tre diversi permessi per i file:
r: lettura: Quando il permesso di lettura è attivo su una directory significa che saremo in grado di elencare i file memorizzati in quella directory, se è assegnato ai file saremo in grado di leggerne il contenuto.
w: write: Quando il permesso di scrittura è attivo su una directory è possibile creare e cancellare i file presenti nella directory, se è attivo per i file significa che potremo modificarne il contenuto.
x: Esegui: Se il permesso execute è abilitato su una directory significa che l'utente può eseguire altre funzioni nella directory e se è abilitato sui file significa che il file potrà essere eseguito dalla riga di comando.
Per visualizzare i permessi di file e directory, eseguire il seguente comando:
ls -l
Questo comando ci darà un risultato simile a:
-rw-r--r-- 1 root 0 2008-10-23 10:02 interfacce -rw-r--r-- 1 root 128 2008-10-23 09:52 interfacce2 drwxr-xr-x 2 dvazart dvazart 4096 2008-10-31 16:25 Templates drwxr-xr-x 2 dvazart dvazart 4096 2008-09-22 13:16 Musique -rw-r--r-- 1 root 3860754 2008-07-21 11:14 nxclient_3.2.0-14_i386.deb drwx------ 2 dvazart dvazart 4096 2008-10-21 11:38 PDF drwxr-xr-x 2 dvazart dvazart 4096 2008-09-22 13:16 Public -rwx------ 1 root 1634 2008-10-22 17:54 readline -rwx------ 1 root 1266 2008-10-22 17:41 readline2 ---------- -- ---- ----- --------- | | V | | | | | nome del file | | V | | | | | | | tempo | | V | | | | | data | | V | | | | | | dimensione | | V | | | | gruppo | | | V | | | proprietario | V | link DIRITTI
I diritti sono assegnati in gruppi di tre e corrispondono a :
Proprietario: Proprietario dei file o delle directory.
Gruppo: il gruppo a cui appartiene il proprietario del file.
Altri: utenti di altri gruppi.
- rw- r-- r-- d rwx --- --- d rwx r-x - rwx --- --- - rwx --- --- d rwx rwx - rwx --- --- d rwx r-x r-x --- --- | | | `---> Altri | `-------> Gruppo `-----------> Proprietario
Linux dispone di 3 comandi per modificare rispettivamente i permessi, il proprietario e il gruppo di un file o di una directory:
chmod: Cambia i permessi del file o della directory.
$ chmod [permessi] [file / directory] [opzioni]
chown: Serve a cambiare il proprietario di un file o di una directory.
chown [nuovo proprietario] [file / directory] [opzioni]
chgrp: si usa per cambiare il gruppo del file o della directory.
chgrp [gruppo] [file / directory] [opzioni]
Simbolo Descrizione Identità u È il proprietario del file o della directory.
g Questo è il gruppo del file o della directory.
o Altri utenti, il resto del mondo.
a Tutti - proprietario, gruppo e altri. Permessi r Accesso in lettura. w Accesso in scrittura. x Accesso in esecuzione. Azioni + Aggiungere permessi. - Rimuovere permessi. = L'unico permesso.
Esempi
Comando Descrizione Risultati chmod u+rwx photo1.png Aggiungere tutti i permessi per rwx------ il proprietario. chmod g+x photo1.png Aggiungere il permesso di esecuzione per rwx-x--- il gruppo. chmod o+r photo1.png Aggiungere il permesso di lettura per rwx-xr--- altri utenti.
chmod u-rw photo1.png Rimuoviamo i permessi di lettura e --x-xr--- scrittura per il proprietario. chmod a=r photo1.png Impostiamo il permesso di lettura come unico permesso r--r--r-- per tutti e 3 i gruppi. chmod u+rx,o+x photo1.png Aggiungiamo i permessi di lettura --------- ed esecuzione per il proprietario ed esecuzione per gli altri.
A ogni permesso viene assegnato un valore, anche quando non è attivo. Per poter utilizzare i numeri dovremo tenere conto della seguente tabella con i rispettivi valori:
Valore Autorizzazione Descrizione 0 --- Zero significa che non è stata assegnata alcuna autorizzazione. 1 --x È stata assegnata solo l'autorizzazione di esecuzione. 2 -w- Solo l'autorizzazione di scrittura. 3 -wx Autorizzazione di scrittura ed esecuzione. 4 r-- Solo l'autorizzazione di lettura. 5 r-x Autorizzazione di lettura ed esecuzione. 6 rw- Autorizzazione di lettura e scrittura. 7 rwx Autorizzazione di lettura, scrittura ed esecuzione.
Le autorizzazioni numeriche sono assegnate in gruppi di 3 (proprietario, gruppo, altro); non è possibile assegnare autorizzazioni solo per uno o due di essi.
Esempi
Comando Risultati Descrizione chmod 600 photo1.png rw------- Solo il proprietario ha il diritto di leggere e scrivere. chmod 644 photo1.png rw-r--r-- Solo il proprietario ha il diritto di leggere e scrivere ma il gruppo e gli altri possono solo leggere. chmod 700 photo1.png rwx------ Solo il proprietario ha il diritto di leggere, scrivere ed eseguire il file. chmod 751 photo1.png rwxr-xr-x Il proprietario ha il diritto di leggere, scrivere ed eseguire, il gruppo può leggere ed eseguire e gli altri possono solo eseguire. chmod 711 photo1.png rwx--x--x Il proprietario ha i diritti di lettura, scrittura ed esecuzione; il gruppo e gli altri possono solo eseguire. chmod 666 photo1.png rw-rw-rw- Tutti possono leggere e scrivere sui file. chmod 777 photo1.png rwxrwxrwx Tutti possono leggere, scrivere ed eseguire.
Ponila al team LWS e alla community. La risposta viene pubblicata dopo la moderazione.