English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Manuale completo dei comandi Linux
Il comando chmod di Linux (inglese: change mode) è un comando per controllare i permessi degli utenti sui file
I permessi di chiamata dei file in Linux/Unix sono divisi in tre livelli: proprietario del file (Owner), gruppo dell'utente (Group), altri utenti (Other Users).
Solo il proprietario del file e l'utente superuser possono modificare i permessi di file o directory. Può utilizzare il modello assoluto (modalità a numeri ottali) o il modello simbolico per specificare i permessi del file.
Permessi di utilizzo : tutti gli utenti
chmod [-cfvR] [--help] [--version] mode file...
mode: stringa di configurazione dei permessi, nel formato seguente:
[ugoa...][[+-=][rwxX]...][,...]
Di seguito:
u rappresenta il proprietario del file, g rappresenta chi appartiene al gruppo dell'owner del file, o rappresenta altre persone oltre a queste, e a rappresenta tutti e tre.
+ significa aggiungere permessi, - significa annullare i permessi, = significa impostare unicamente i permessi
r significa leggibile, w significa scrivibile, x significa eseguibile, X significa che il file è una sottodirectory o il file è stato impostato come eseguibile
Altre spiegazioni dei parametri:
-c: Se i permessi del file sono effettivamente stati modificati, mostrare l'azione di modifica
-f: Se i permessi del file non possono essere modificati, non mostrare un messaggio di errore
-v: Mostra i dettagli della modifica dei permessi
-R: Modifica i permessi degli stessi file e delle sottodirectory nel directory corrente (modifica ricorsivamente)
--help: Mostra le istruzioni di aiuto
--version: Mostra la versione
È possibile impostare più elementi utilizzando il modello a simbolo: who (tipo di utente), operator (operatore) e permission (permesso), l'impostazione di ogni elemento può essere separata da virgola. Il comando chmod modifica i permessi di accesso al file per il tipo di utente specificato da who, il tipo di utente è spiegato da una o più lettere nella posizione di who, come indicato nella tabella a simbolo who:
who | Tipo di utente | 说明 |
---|---|---|
u | user | Proprietario del file |
g | group | Gruppo del proprietario del file |
o | others | Tutti gli altri utenti |
a | all | Utenti utilizzati, equivalente a ugo |
Tabella a simbolo dell'operatore:
Operatore | 说明 |
---|---|
+ | Aggiungere permessi per il tipo di utente specificato |
- | Rimuovere i permessi del tipo di utente specificato |
= | Impostare la configurazione dei permessi per l'utente specificato, ovvero reimpostare tutti i permessi del tipo di utente |
Tabella a simbolo di permission:
Modo | Nome | 说明 |
---|---|---|
r | Lettura | Impostare i permessi di lettura |
w | Scrittura | Impostare i permessi di scrittura |
x | Permessi di esecuzione | Impostare i permessi di esecuzione |
X | Permessi di esecuzione speciali | Impostare i permessi di esecuzione solo quando il file è un file di directory o altri tipi di utenti hanno permessi di esecuzione |
s | setuid/gid | Quando il file viene eseguito, impostare i permessi setuid o setgid del file in base al tipo di utente specificato con il parametro who |
t | Bit di incollaggio | Impostare il bit di incollaggio, solo l'utente superuser può impostare questo bit, e solo l'utente proprietario u può utilizzare questo bit |
Il comando chmod può utilizzare numeri ottali per specificare i permessi. I bit di permesso dei file o delle directory sono controllati da 9 bit di permesso, divisi in gruppi di tre, che sono rispettivamente lettura, scrittura, esecuzione per il proprietario del file (User), lettura, scrittura, esecuzione per il gruppo utente (Group) e lettura, scrittura, esecuzione per altri utenti (Other). Storicamente, i permessi dei file sono stati messi in una maschera bit, dove i bit specificati nella maschera sono impostati a 1 per indicare che una classe ha la priorità corrispondente.
# | Permessi | rwx | Binario |
---|---|---|---|
7 | Lettura + scrittura + esecuzione | rwx | 111 |
6 | Lettura + scrittura | rw- | 110 |
5 | Lettura + esecuzione | r-x | 101 |
4 | Solo lettura | r-- | 100 |
3 | Scrittura + esecuzione | -wx | 011 |
2 | Solo scrittura | -w- | 010 |
1 | Solo esecuzione | --x | 001 |
0 | Nessuno | --- | 000 |
Ad esempio, 765 sarà spiegato come:
Permessi del proprietario: la somma totale dei numeri dei tre bit di permessi del proprietario. Ad esempio, rwx, ossia 4+2+1, dovrebbe essere 7.
Permessi del gruppo: la somma totale dei numeri dei bit di permessi del gruppo. Ad esempio, rw-, ossia 4+2+0, dovrebbe essere 6.
Altri numeri di permessi degli utenti: la somma totale dei numeri dei bit di permessi degli utenti. Ad esempio, r-x, ossia 4+0+1, dovrebbe essere 5.
Imposta il file file1.txt in modo che chiunque possa leggere:
chmod ugo+r file1.txt
Imposta il file file1.txt in modo che chiunque possa leggere:
chmod a+r file1.txt
Imposta i file file1.txt e file2.txt in modo che l'autore del file e i membri del gruppo possano scrivere, ma nessun altro può scrivere:
chmod ug+w,o-w file1.txt file2.txt
Aggiungi i permessi di esecuzione all'autore del file ex1.py:
chmod u+x ex1.py
Imposta tutti i file e le sottocartelle del directory corrente in modo che chiunque possa leggere:
chmod -R a+r *
Inoltre, chmod può anche rappresentare i permessi con numeri come:
chmod 777 file
La sintassi è:
chmod abc file
Ognuno di a, b, c è un numero, che rappresenta rispettivamente i permessi dell'Utente, del Gruppo e degli Altri.
Se si desidera l'attributo rwx, allora 4+2+1=7;
Se si desidera l'attributo rw-, allora 4+2=6;
Se si desidera l'attributo r-x, allora 4+1=5.
chmod a=rwx file
e
chmod 777 file
Effetto identico
chmod ug=rwx,o=x file
e
chmod 771 file
Effetto identico
Se si utilizza chmod 4755 filename, questo programma avrà i permessi di root.
命令 | 说明 |
---|---|
chmod a+r file | Aggiungere i permessi di lettura per tutti gli utenti di file |
chmod a-x file | Eliminare i permessi di esecuzione per tutti gli utenti di file |
chmod a+rw file | Aggiungere i permessi di lettura e scrittura per tutti gli utenti di file |
chmod +rwx file | Aggiungere i permessi di lettura, scrittura ed esecuzione per tutti gli utenti di file |
chmod u=rw,go= file | Impostare i permessi di lettura e scrittura per il proprietario di file, svuotare i permessi di questo gruppo e altri utenti per file (lo spazio rappresenta la mancanza di permessi) |
chmod -R u+r,go-r docs | Aggiungere i permessi di lettura agli utenti per i directory docs e la struttura gerarchica dei directory dei suoi sottodirectory, e rimuovere i permessi di lettura per il gruppo e altri utenti |
chmod 664 file | Impostare i permessi di lettura e scrittura per il proprietario e il gruppo dell'utente per file, impostare i permessi di lettura per altri utenti |
chmod 0755 file | Corrisponde a u=rwx (4+2+1), go=rx (4+1 & 4+1). 0 non ha un modello speciale. |
chmod 4755 file | 4 ha impostato l'impostazioneID utentePosizione, il resto è u=rwx (4+2+1), go=rx (4+1 & 4+1). |
find path/ -type d -exec chmod a-x {} \; | Eliminare i permessi esecutivi per path/ e tutti i suoi directory (esclusi i file) per tutti gli utenti, utilizzando '-type f' per abbinare i file |
find path/ -type d -exec chmod a+x {} \; | Permettere a tutti gli utenti di navigare o accedere tramite il percorso / |