Il comando chmod di Linux viene utilizzato per modificare le autorizzazioni di accesso di file e directory. Sta per cambiare modalità . Non è possibile modificare l'autorizzazione dei collegamenti simbolici. Anche, ignora i collegamenti simbolici incontrati nell'attraversamento ricorsivo delle directory.
Nel Linux file system, ogni file è associato a un particolare proprietario e dispone di autorizzazioni di accesso per diversi utenti. Le classi utente possono essere:
- proprietario
- membro del gruppo
- Altri (tutti gli altri)
I permessi dei file in Linux sono i seguenti tre tipi:
- leggi (r)
- scrivere (w)
- eseguire (x)
Breve storia di Chmod
Innanzitutto, il comando chmod è rappresentato in AT&T UNIX versione 1 con la chiamata di sistema chmod. Gli elenchi di controllo degli accessi sono stati inclusi in diversi file system oltre a queste modalità più comuni per migliorare la flessibilità poiché i sistemi crescevano in tipi e numero di utenti.
La versione chmod organizzata nei coreutils GNU è stata specificata da Jim Meyering e David MacKenzie. Questo comando è presente come pacchetto isolato per Microsoft Windows come elemento della raccolta di porte Win32 native di UnxUtils di utilità di base simili a GNU Unix. Inoltre, il comando chmod è stato fornito al sistema operativo IBM i.
Vediamo come modificare i permessi del file utilizzando il comando chmod.
Sintassi:
ridhima tiwari
La sintassi di base del comando chmod è la seguente:
chmod
Le opzioni generalmente implementate sono:
L'oggetto di destinazione viene influenzato se viene menzionato un collegamento simbolico. Le modalità file correlate direttamente ai collegamenti simbolici stessi non vengono utilizzate in genere.
Il componente principale dell'autorizzazione chmod:
Ad esempio, rwxr-x---
Tutti i gruppi di tre caratteri specificano i permessi per tutte le classi:
Opzioni:
Il comando chmod supporta le seguenti opzioni della riga di comando:
-c, --cambia: È simile all'opzione verbose, ma la differenza è che viene segnalato se è stata apportata una modifica.
-f, --silent, --quiet: Viene utilizzato per sopprimere i messaggi di errore.
-v, --verbose: Viene utilizzato per visualizzare una diagnostica per ogni file elaborato.
--no-preserve-root: Viene utilizzato per non trattare il simbolo della barra rovesciata ('/'), in particolare (l'impostazione predefinita).
--preserve-root: Se si utilizza questa opzione, non funzionerà in modo ricorsivo sulla barra rovesciata ('/').
--reference=FILER: Viene utilizzato per specificare la modalità dell'RFILE in alternativa ai valori MODE.
-R, --ricorsivo: Viene utilizzato per modificare file e directory in modo ricorsivo.
--aiuto: Viene utilizzato per visualizzare il manuale della guida con una breve descrizione dell'utilizzo e delle opzioni di supporto.
--versione: Viene utilizzato per visualizzare le informazioni sulla versione.
Sintassi dei permessi dei file
Se sei un nuovo utente, potresti rimanere confuso con i diversi tipi di lettere utilizzate per impostare i permessi del file. Quindi, prima di procedere ulteriormente con il comando chmod, comprendiamo la sintassi dei permessi del file.
Per impostare i permessi di un file o di una directory, dobbiamo specificare quanto segue:
come disattivare la modalità sviluppatore
- Chi: chi siamo. (utente)
- Cosa: quale modifica apporteremo (ad esempio aggiungendo o rimuovendo l'autorizzazione)?
- Quale: quale dei permessi?
La dichiarazione di autorizzazione è rappresentata in indicatori come u+x, u-x. Dove 'u' sta per 'utente', '+' sta per aggiungi, '-' sta per rimuovi, 'x' sta per eseguibile (quale).
lattice di dimensioni del testo
Il valore utente può essere:
u: il proprietario del file
g: membro del gruppo
o: altri
R: tutti
I tipi di autorizzazione possono essere r, w e x.
Impostazione e aggiornamento delle autorizzazioni
Per impostare i permessi di un file, esegui un'istruzione di autorizzazione con il comando chmod. Ad esempio, vogliamo impostare i permessi di lettura e scrittura per tutti gli utenti e i gruppi del file 'Demo.txt'. Dobbiamo passare la dichiarazione di autorizzazione 'u=rw,go=rw Demo.txt' con il comando chmod. Per visualizzare i permessi del file, eseguire il comando seguente:
ls -l Demo.txt
Il comando precedente visualizzerà l'autorizzazione corrente del file 'Demo.txt'.
Per modificare l'autorizzazione, eseguire il comando seguente:
chmod u=rw,go=rw Demo.txt
Considera l'output seguente:
Dall'output precedente, l'autorizzazione di accesso di 'Demo.txt' è cambiata.
Impostazione delle autorizzazioni per più file
Possiamo impostare i permessi per più file contemporaneamente utilizzando il comando chmod. Per modificare i permessi di più file, specificare il modello del file con il comando chmod. Ad esempio, se vogliamo impostare i permessi di lettura e scrittura per tutti i file di testo, specifichiamo il file *. modello txt con il comando chmod.
Per visualizzare i permessi di tutti i file di testo dalla directory di lavoro corrente, eseguire il comando seguente:
ls -l *.txt
Elencherà tutti i file di testo con la loro modalità di autorizzazione. Considera l'output seguente:
Dall'output precedente, molti file hanno solo il permesso di lettura per altri utenti.
Per impostare i permessi di lettura e scrittura per altri utenti, esegui il comando seguente:
chmod o+w *.txt
Imposterà l'autorizzazione di lettura e scrittura per altri utenti dei file di testo. Considera l'output seguente:
Stenografia numerica
Possiamo usare i valori numerici invece delle lettere per specificare le autorizzazioni. Per specificare l'autorizzazione viene utilizzato un valore di tre cifre. La cifra più a sinistra rappresenta il proprietario (u) e la cifra centrale rappresenta i membri del gruppo (g). La cifra più a destra rappresenta le altre (o).
La tabella seguente rappresenta le cifre e le relative autorizzazioni:
Cifre | Autorizzazioni |
---|---|
000 | Nessun permesso |
001 | Esegui il permesso |
010 | Permesso di scrittura |
011 | Permessi di scrittura ed esecuzione |
100 | Permesso di lettura |
101 | Leggere ed eseguire i permessi |
110 | Permessi di lettura e scrittura |
111 | Permessi di lettura, scrittura ed esecuzione |
Modi simbolici
Inoltre, il comando chmod accetta la notazione simbolica a grana più fine, che consente di modificare modalità specifiche. La modalità simbolica è composta da tre elementi, che vengono fusi a formare un'unica stringa di testo:
$ chmod [references] [operator] [modes] file...
Il programma chmod applica un operatore per definire come dovrebbero essere organizzate le modalità dei file. Sono approvati i seguenti operatori:
Operatore | Descrizione | |
---|---|---|
+ | Aggiunge il descritto alle classi descritte. | |
- | Rimuove la modalità descritta dalle classi descritte. | |
= | Rappresenta che le modalità descritte devono essere create come le stesse modalità per le classi descritte. |
Le modalità rappresentano quali autorizzazioni verranno rimosse o concesse dalle classi descritte. Esistono principalmente tre modalità comuni correlate alle autorizzazioni comuni:
Nome | Modalità | Descrizione |
---|---|---|
Leggere | R | Legge un file o elenca il contenuto di una directory. |
scrivere | In | Scrive in una directory o in un file. |
eseguire | X | Ricorsisce un albero di directory o esegue un file. |
esecuzione speciale | X | Non è un permesso ma può invece essere utilizzato al posto di x. Utilizza i permessi di esecuzione per le directory nonostante i permessi attuali e utilizza i permessi di esecuzione per un file che ha almeno un bit di permessi di esecuzione impostato. È utile se utilizzato con l'operatore '+' e senza impostare il permesso di esecuzione, cosa che accadrebbe se utilizzassimo semplicemente chmod -R a+rx ., mentre possiamo implementare chmod -R a+rx . con x piuttosto. |
È possibile descrivere più modifiche isolando più modalità simboliche insieme alle virgole. Il comando chmod ispezionerà il file umask se un utente non è specificato.
np.unique
Modalità speciali
Inoltre, il comando chmod può modificare le modalità speciali e i permessi aggiuntivi di una directory o di un file. Le modalità simboliche applicano 's' per indicare le modalità setgid e setuid e 't' per indicare la modalità sticky. Una modalità viene utilizzata solo per le classi corrette, indipendentemente dal fatto che siano menzionate o meno altre classi.
Quasi tutti i sistemi operativi supportano numericamente la specifica della modalità speciale, in particolare in ottale, ma alcuni no. A questi sistemi possono essere applicate solo le modalità simboliche.
Alcuni esempi della riga di comando:
Comando | Descrizione |
---|---|
chmod a+r publicComments.txt | Aggiungerà l'autorizzazione di lettura per ogni classe (ad esempio Gruppo, Proprietario e Altri). |
chmod a-x publicComments.txt | Rimuoverà il permesso di esecuzione per ogni classe. |
chmod a+rx viewer.sh | Aggiungerà le autorizzazioni di esecuzione e lettura per ogni classe. |
chmod u=rw, g=r, o=internalPlan.txt | Imposterà i permessi di scrittura e lettura per l'utente, consentirà la lettura per il Gruppo e rifiuterà l'accesso per gli Altri. |
chmod -R u+w, go-w docs | Includerà l'autorizzazione di scrittura nella directory docs e ciascuno dei suoi contenuti per il proprietario ed eliminerà l'autorizzazione di scrittura per gli altri e il gruppo. |
chmod e=rw groupAgreements.txt | Imposterà le autorizzazioni di scrittura e lettura per gruppo e utente. |
chmod 664 global.txt | Imposterà le autorizzazioni di scrittura e lettura per il gruppo e l'utente e concederà l'autorizzazione di lettura agli altri. |
chmod 744 Show_myCV.sh | Imposterà le autorizzazioni di esecuzione, scrittura e lettura per l'utente e fornirà l'autorizzazione di lettura a Gruppo e Altri. |