English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Comando chmod di Linux

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

Sintassi

chmod [-cfvR] [--help] [--version] mode file...

Spiegazione dei parametri

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

Modello a simbolo

È 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:

whoTipo di utente说明
uuserProprietario del file
ggroupGruppo del proprietario del file
oothersTutti gli altri utenti
aallUtenti 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:

ModoNome说明
rLetturaImpostare i permessi di lettura
wScritturaImpostare i permessi di scrittura
xPermessi di esecuzioneImpostare i permessi di esecuzione
XPermessi di esecuzione specialiImpostare i permessi di esecuzione solo quando il file è un file di directory o altri tipi di utenti hanno permessi di esecuzione
ssetuid/gidQuando il file viene eseguito, impostare i permessi setuid o setgid del file in base al tipo di utente specificato con il parametro who
tBit di incollaggioImpostare il bit di incollaggio, solo l'utente superuser può impostare questo bit, e solo l'utente proprietario u può utilizzare questo bit

Sintassi ottale

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.

#PermessirwxBinario
7Lettura + scrittura + esecuzionerwx111
6Lettura + scritturarw-110
5Lettura + esecuzioner-x101
4Solo letturar--100
3Scrittura + esecuzione-wx011
2Solo scrittura-w-010
1Solo esecuzione--x001
0Nessuno---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.

Esempi online

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.

r=4, w=2, x=1

  • 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 fileAggiungere i permessi di lettura per tutti gli utenti di file
chmod a-x fileEliminare i permessi di esecuzione per tutti gli utenti di file
chmod a+rw fileAggiungere i permessi di lettura e scrittura per tutti gli utenti di file
chmod +rwx fileAggiungere i permessi di lettura, scrittura ed esecuzione per tutti gli utenti di file
chmod u=rw,go=  fileImpostare 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 docsAggiungere 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 fileImpostare 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 fileCorrisponde a u=rwx (4+2+1), go=rx (4+1 & 4+1). 0 non ha un modello speciale.
chmod 4755 file4 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 /

Manuale completo dei comandi Linux