I permessi chmod sono tipici propri dei sistemi operativi UNIX e Linux. Non sono altro che le istruzioni che vengono date al sistema su cosa si può e cosa non si può fare con una data directory e file.
I sistemi operativi suddetti, in merito alla possibilita di operare con un file fanno distinzione fra 3 tipi di soggetti: Proprietario (User), Gruppo (Group), Utenti (Others)
Per ciascuno di questi utenti é necessario specificare i diversi permessi riguardanti la directory o il file in questione. I permessi sono indicati da alcuni numeri ovvero:
Lettura : permetti l'acceso al file ( 4 )
Scrittura : permetti le modifiche del file da parte di un utente (ad esempio un visitatore del tuo sito) ( 2 )
Esecuzione : solitamente usato per gli script cgi permette di eseguire lo script ( 1 )
Questi 3 permessi devono essere regolati per ognuno dei 3 tipi di utenti. Ad esempio chmod 755 , non é altro che il tipo di permesso che si imposta su un file (in questo caso un cgi) che serve a renderlo:
leggibile-scrivibile-eseguibile al proprietario
leggibile-eseguibile al gruppo
leggibile-eseguibile agli altri utenti
Il chmod 755 si ottiene in questo modo:
Permessi proprietario:
Lettura si = 4
Scrittura si = 2
Esecuzione si = 1
Totale = 7
Permessi gruppo:
Lettura si = 4
Scrittura no = 0
Esecuzione si = 1
Totale = 5
Permessi utenti:
Lettura si = 4
Scrittura no = 0
Esecuzione si = 1
Totale = 5
Affianca i tre totali ottenuti ed ecco qui 755 .
Un altro esempio è dato dal chmod 666, tipico dei files di database.
Permessi propietario:
Lettura si = 4
Scrittura si = 2
Esecuzione no = 0
Totale = 6
Permessi gruppo:
Lettura si = 4
Scrittura si = 2
Esecuzione no = 0
Totale = 6
Permessi utenti:
Lettura si = 4
Scrittura si = 2
Esecuzione no = 0
Totale = 6
Affianca i tre totali ottenuti ed ecco qui 666.
Come vedi il discorso è meno ostico di quanto non appaia a prima vista, ma è comunque fondamentale. Infatti sbagliare chmod su un file significa non fare funzionare il cgi e magari impazzire cercando di capire perchè.
Attenzione!
I chmod, quando riferiti ad una directory, cambiano leggermente di significato. Infatti:
Leggibile
Significa possibilità di ottenere dall'esterno della directory l'elenco dei files
Scrivibile
Significa possibilità di creare nuovi files all'interno della directory
Eseguibile
Significa permesso di accesso all'interno della directory
Un altro modo di descrivere i chmod è quello letterale. Dove:
-
Significa assenza di quell'elemento.
d
Si tratta di una directory.
l
Si tratta di un link simbolico.
r
"Reading" cioè leggibile.
w
"Writing" cioè scrivibile.
x
"Executing" cioè eseguibile.
La struttura della riga è la seguente:
|directory o meno(1 carattere)|diritti dell'amministratore(3 elementi)|diritti dei gruppi(3 elementi)|diritti degli utenti(3 elementi)|
Un esempio pratico di chmod 755 attribuito ad una directory: drwxr-xr-x
Esempio di chmod 666 attribuito ad un file: -rw-rw-rw-
Un'altra notazione che si trova per indicare un certo settaggio dei chmod, che corrisponde anche ad un comando shell, è ad esempio la seguente:
chmod a+rw
la struttura è la seguente:
chmod |1° elemento|2° elemento|3° elemento
Dove:
1° elemento
Indica i soggetti a cui si applicheranno i chmod che vengono settati. Possibilità: a (all = tutti); (nulla) (all = tutti); u (user = propietario); g (group = gruppo); o (others = altri utenti).
2° elemento
Indica il tipo di operazione da fare, cioè se i chmod in questione vanno aggiunti o sottratti. Possibilità: + (i chmod indicati vanno aggiunti ai soggetti indicati); - (i chmod indicati vanno tolti ai soggetti indicati).
3° elemento
Indica i chmod che dovranno essere aggiunti o tolti, e segue la notazione letterale. Possibilità: r (lettura); w (scrittura); x (eseguibilità).
Per l'esempio:
chmod a+rw
Corrisponde a:
chmod 666
Bisogna però fare attenzione al fatto che con la prima notazione si dice al sistema di "aggiungere" quei chmod al file, e quindi se lo stesso avesse già avuto dei permessi di esecuzione li conserverà.
Ad esempio:
Il file prova.pl ha chmod 755, cioè -rwx-r-xr-x.
se noi scriviamo:
chmod a+rw prova.pl avremo che ora prova.pl avrà chmod 777
cioè -rwxrwxrwx.
Aggiungo che su AlterVista non è possibile cambiare CHMOD dato che sono già settati 755 :grin: :smile:
Ultima modifica di roratonet : 14-08-2004 alle ore 04.01.53