Prima versione | 3 novembre 1971 |
---|---|
genere | Utilità UNIX ( d ) |
chmod (abbreviazione di ch ange mod e ) è una chiamata di sistema di UNIX ( POSIX standard ) e il comando corrispondente per modificare i permessi di un file o di una directory .
Questo comando è apparso per la prima volta in AT&T UNIX versione 1.
Un utente ha il diritto di chmod un file:
Le opzioni passate al comando chmod sono indicate in questo modo:
chmod options modes fichiers
Per un file: chmod [u g o a] [+ - =] [r w x] nom_du_fichier
Per i contenuti di una directory (ricorsivamente): chmod -R [u g o a] [+ - =] [r w x] nom_du_répertoire
chmodha una serie di opzioni che possono modificare il risultato. Alcune di queste opzioni sono:
Per ogni dato file, i permessi si applicano al proprietario del file (codice "u" come utente ), al gruppo utenti del file ("g" come gruppo ) o ad altri utenti ("o" come gli altri ). Per applicare le modifiche a tutto in una volta, utilizziamo il codice "a" come tutti :
Le modalità possono essere specificate in due modi, con lettere o con numeri ottali . Per le lettere, ci sono gli operatori di modifica dello stato +e -per aggiungere o rimuovere un tipo di diritto ai diritti correnti e l'operatore =per sovrascriverli. Per l'ottale, devi aggiungere i numeri per ogni tipo di proprietario.
I permessi sono (valori ottali tra parentesi):
Corrispondenza sulla rappresentanza dei diritti | |||
---|---|---|---|
Diritto | Valore alfanumerico | Valore ottale | Valore binario |
nessun diritto | --- | 0 | 000 |
solo esecuzione | --x | 1 | 001 |
solo scrittura | -w- | 2 | 010 |
scrivere e recitare | -wx | 3 | 011 |
sola lettura | r-- | 4 | 100 |
leggere ed eseguire | r-x | 5 | 101 |
leggendo e scrivendo | rw- | 6 | 110 |
tutti i diritti (lettura, scrittura ed esecuzione) | rwx | 7 | 111 |
Ci sono tre modalità speciali comunemente usate: lo sticky bit (indicato con t) e i bit SETUID e SETGID (indicato con s).
chmod esiste nel C standard di libreria . Ha la stessa funzione del comando Unix.
int chmod(const char *path, int amode) ;O :
La differenza tra chmod e fchmod è che chmod prende il percorso del file come argomento (che è leggibile dall'uomo, esempio: /tmp/toto.txt ), mentre fchmod accetta il descrittore di file come argomento.
chmod esiste nelle librerie Perl per modificare i permessi di un elenco di file. Il secondo parametro deve essere il valore ottale. La funzione restituisce il numero di file assegnati con successo.
$cnt = chmod 0644, 'fichier1', 'fichier2'; $cnt = chmod 0644, @liste;chmod esiste nella libreria PHP standard . Ha la stessa funzione del comando Unix e gli stessi parametri della funzione C.
In MS-DOS e Windows , l'utilità attribconsente di modificare alcuni attributi (lettura, scrittura, nascosto, sistema) dei file, non collegati al proprietario.
In Windows NT , caclsè l'utilità della riga di comando più completa equivalente a chmode chown .