Come usare il comando chmod su Linux
Fatmawati Achmad Zaenuri/Shutterstock.com
Controlla chi può accedere ai file, cercare directory ed eseguire script utilizzando |_+_| . di Linux comando. Questo comando modifica i permessi dei file Linux, che a prima vista sembrano complicati ma in realtà sono piuttosto semplici una volta che sai come funzionano.
chmod modifica i permessi dei file
In Linux, chi può fare cosa su un file o una directory è controllato tramite insiemi di autorizzazioni. Esistono tre serie di autorizzazioni. Un set per il proprietario del file, un altro set per i membri del gruppo del file e un set finale per tutti gli altri.
IMPARENTATO 10 comandi di base di Linux per principianti
Le autorizzazioni controllano le azioni che possono essere eseguite sul file o sulla directory. Consentono o impediscono la lettura, la modifica o l'esecuzione di un file, se si tratta di uno script o di un programma. Per una directory, i permessi governano chi può |_+_| nella directory e chi può creare o modificare i file all'interno della directory.
Usi il |_+_| comando a imposta ciascuno di questi permessi . a guarda quali permessi sono stati impostati su un file o una directory, possiamo usare |_+_|.
Visualizzazione e comprensione dei permessi dei file
Possiamo usare il |_+_| (formato lungo) opzione per avere |_+_| elencare i permessi dei file per file e directory.
chmod
Annuncio pubblicitario
Su ogni riga, il primo carattere identifica il tipo di voce che viene elencata. Se è un trattino (|_+_|) è un file. Se è la lettera |_+_| è una directory.
I successivi nove caratteri rappresentano le impostazioni per i tre set di autorizzazioni.
- I primi tre caratteri mostrano i permessi per l'utente che possiede il file ( permessi utente ).
- I tre caratteri centrali mostrano i permessi per i membri del file gruppo ( permessi di gruppo ).
- Gli ultimi tre caratteri mostrano i permessi per chiunque non sia nelle prime due categorie ( altri permessi ).
Ci sono tre caratteri in ogni set di autorizzazioni. I caratteri sono indicatori della presenza o meno di uno dei permessi. Possono essere un trattino (|_+_|) o una lettera. Se il carattere è un trattino, significa che il permesso non è concesso. Se il carattere è |_+_|, |_+_| o |_+_|, il permesso è stato concesso.
Le lettere rappresentano:
- R : permessi di lettura. Il file può essere aperto e il suo contenuto visualizzato.
- In : permessi di scrittura. Il file può essere modificato, modificato ed eliminato.
- X : esegue i permessi. Se il file è uno script o un programma, può essere eseguito (eseguito).
Per esempio:
- |_+_| significa che non sono state concesse autorizzazioni.
- |_+_| significa che le autorizzazioni complete sono state concesse. Gli indicatori di lettura, scrittura ed esecuzione sono tutti presenti.
Nella nostra schermata, la prima riga inizia con |_+_|. Questa riga fa riferimento a una directory chiamata archivio. Il proprietario della directory è dave e anche il nome del gruppo a cui appartiene la directory è dave.
I successivi tre caratteri sono i permessi utente per questa directory. Questi mostrano che il proprietario ha le autorizzazioni complete. Il |_+_|, |_+_| e |_+_| i personaggi sono tutti presenti. Ciò significa che l'utente dave ha i permessi di lettura, scrittura ed esecuzione per quella directory.
Il secondo set di tre caratteri sono i permessi di gruppo, questi sono |_+_|. Questi mostrano che i membri del gruppo dave hanno i permessi di lettura ed esecuzione per questa directory. Ciò significa che possono elencare i file e il loro contenuto nella directory e possono |_+_| (eseguire) in quella directory. Non dispongono di autorizzazioni di scrittura, quindi non possono creare, modificare o eliminare file.
Annuncio pubblicitarioAnche il set finale di tre caratteri è |_+_|. Queste autorizzazioni si applicano alle persone che non sono governate dai primi due insiemi di autorizzazioni. Queste persone (chiamate altre) hanno i permessi di lettura ed esecuzione su questa directory.
Quindi, per riassumere, i membri del gruppo e altri hanno i permessi di lettura ed esecuzione. Il proprietario, un utente chiamato dave, dispone anche dei permessi di scrittura.
Per tutti gli altri file (a parte il file di script mh.sh) dave e i membri del gruppo dave hanno proprietà di lettura e scrittura sui file e gli altri hanno solo permessi di lettura.
Per il caso speciale del file di script mh.sh, il proprietario dave ei membri del gruppo hanno i permessi di lettura, scrittura ed esecuzione, e gli altri hanno solo i permessi di lettura ed esecuzione.
Comprensione della sintassi dei permessi
Per usare |_+_| per impostare i permessi, dobbiamo dirgli:
- Chi: Per chi stiamo impostando le autorizzazioni.
- Che cosa : Che cambiamento stiamo facendo? Stiamo aggiungendo o rimuovendo l'autorizzazione?
- Quale : Quale dei permessi stiamo impostando?
Usiamo indicatori per rappresentare questi valori e formiamo brevi dichiarazioni di autorizzazione come |_+_|, dove u significa utente (chi), + significa aggiungere (cosa) e x indica l'autorizzazione di esecuzione (quale).
I valori che possiamo usare sono:
- tu : Utente, ovvero il proprietario del file.
- G : Gruppo, ovvero i membri del gruppo a cui appartiene il file.
- o : Altri, ovvero persone non governate dalla |_+_| e |_+_| autorizzazioni.
- a : Tutto, cioè tutto quanto sopra.
Se nessuno di questi viene utilizzato, |_+_| si comporta come se |_+_| era stato usato.
I valori che possiamo usare sono:
- - : Segno meno. Rimuove l'autorizzazione.
- + : Segno più. Concede il permesso. L'autorizzazione viene aggiunta alle autorizzazioni esistenti. Se vuoi avere questa autorizzazione e solo questa autorizzazione impostata, usa |_+_| opzione, descritta di seguito.
- = : segno di uguale. Imposta un'autorizzazione e rimuovi gli altri.
I valori che possiamo usare sono:
- R : Il permesso di lettura.
- In : Il permesso di scrittura.
- X : l'autorizzazione di esecuzione.
Impostazione e modifica dei permessi
Diciamo che abbiamo un file in cui tutti hanno le autorizzazioni complete su di esso.
cd
Vogliamo che l'utente dave abbia i permessi di lettura e scrittura e il gruppo e gli altri utenti abbiano solo i permessi di lettura. Possiamo farlo usando il seguente comando:
chmod
L'uso dell'operatore = significa che eliminiamo tutte le autorizzazioni esistenti e quindi impostiamo quelle specificate.
controlliamo la nuova autorizzazione su questo file:
ls
Le autorizzazioni esistenti sono state rimosse e le nuove autorizzazioni sono state impostate, come previsto.
Che ne dici di aggiungere un'autorizzazione? privo di rimuovere le impostazioni delle autorizzazioni esistenti? Possiamo farlo facilmente anche noi.
Annuncio pubblicitarioDiciamo che abbiamo un file di script che abbiamo finito di modificare. Dobbiamo renderlo eseguibile per tutti gli utenti. I suoi permessi attuali assomigliano a questo:
-l
Possiamo aggiungere l'autorizzazione di esecuzione per tutti con il seguente comando:
ls
Se diamo un'occhiata alle autorizzazioni, vedremo che l'autorizzazione di esecuzione è ora concessa a tutti e le autorizzazioni esistenti sono ancora in vigore.
-
Avremmo potuto ottenere la stessa cosa senza la a nell'istruzione a+x. Il seguente comando avrebbe funzionato altrettanto bene.
d
Impostazione dei permessi per più file
Possiamo applicare le autorizzazioni a più file contemporaneamente.
Questi sono i file nella directory corrente:
-
Supponiamo di voler rimuovere i permessi di lettura per gli altri utenti dai file con estensione .page. Possiamo farlo con il seguente comando:
r
Controlliamo quale effetto ha avuto:
w
Annuncio pubblicitario
Come possiamo vedere, il permesso di lettura è stato rimosso dai file .page per l'altra categoria di utenti. Nessun altro file è stato interessato.
Se avessimo voluto includere i file nelle sottodirectory, avremmo potuto usare |_+_| (ricorsivo) opzione.
x
Stenografia numerica
Un altro modo per usare |_+_| è fornire le autorizzazioni che desideri concedere al proprietario, al gruppo e ad altri come un numero di tre cifre. La cifra più a sinistra rappresenta le autorizzazioni per il proprietario. La cifra centrale rappresenta le autorizzazioni per i membri del gruppo. La cifra più a destra rappresenta i permessi per gli altri.
Le cifre che puoi usare e cosa rappresentano sono elencate qui:
- 0: (000) Nessuna autorizzazione.
- 1: (001) Autorizzazione di esecuzione.
- 2: (010) Permesso di scrittura.
- 3: (011) Autorizzazioni di scrittura ed esecuzione.
- 4: (100) Permesso di lettura.
- 5: (101) Lettura ed esecuzione delle autorizzazioni.
- 6: (110) Permessi di lettura e scrittura.
- 7: (111) Permessi di lettura, scrittura ed esecuzione.
Ciascuno dei tre permessi è rappresentato da uno dei bit nell'equivalente binario del numero decimale. Quindi 5, che è 101 in binario, significa leggere ed eseguire. 2, che è 010 in binario, significherebbe il permesso di scrittura.
Usando questo metodo, imposti i permessi che desideri avere; non si aggiungono queste autorizzazioni alle autorizzazioni esistenti. Quindi, se i permessi di lettura e scrittura fossero già presenti, dovresti usare 7 (111) per aggiungere i permessi di esecuzione. L'utilizzo di 1 (001) rimuoverà le autorizzazioni di lettura e scrittura e aggiungerà l'autorizzazione di esecuzione.
Annuncio pubblicitarioAggiungiamo nuovamente il permesso di lettura sui file .page per la categoria di utenti altri. Dobbiamo impostare anche i permessi dell'utente e del gruppo, quindi dobbiamo impostarli su ciò che sono già. Questi utenti dispongono già delle autorizzazioni di lettura e scrittura, ovvero 6 (110). Vogliamo che gli altri abbiano la lettura e i permessi, quindi devono essere impostati su 4 (100).
Il seguente comando realizzerà questo:
---
Questo imposta le autorizzazioni che richiediamo per l'utente, i membri del gruppo e altri su ciò che richiediamo. Gli utenti e i membri del gruppo hanno i loro permessi ripristinati a quelli che erano già e gli altri hanno ripristinato il permesso di lettura.
rwx
Opzioni avanzate
Se tu leggi la pagina man per |_+_| vedrai che ci sono alcune opzioni avanzate relative ai bit SETUID e SETGID e alla cancellazione limitata o al bit appiccicoso.
Per il 99% dei casi avrai bisogno di |_+_| per, le opzioni descritte qui ti copriranno.
IMPARENTATO: I migliori laptop Linux per sviluppatori e appassionati
LEGGI SUCCESSIVO- & rsaquo; Come utilizzare le password crittografate negli script Bash
- & rsaquo; 10 comandi di base di Linux per principianti
- & rsaquo; Come utilizzare i documenti qui in Bash su Linux
- & rsaquo; Spiegazione dei timestamp dei file Linux: atime, mtime e ctime
- & rsaquo; Come eseguire app Android su Linux
- & rsaquo; Come creare un file di scambio su Linux
- & rsaquo; L'app per Mac non si avvia? Ecco come risolverlo
- & rsaquo; Cyber Monday 2021: le migliori offerte tecnologiche
Dave McKay ha usato per la prima volta i computer quando era in voga il nastro di carta perforata, e da allora ha programmato. Dopo oltre 30 anni nel settore IT, ora è un giornalista tecnologico a tempo pieno. Durante la sua carriera ha lavorato come programmatore freelance, manager di un team internazionale di sviluppo software, project manager di servizi IT e, più recentemente, come Data Protection Officer. I suoi scritti sono stati pubblicati da howtogeek.com, cloudavvyit.com, itenterpriser.com e opensource.com. Dave è un evangelista di Linux e un sostenitore dell'open source.
Leggi la biografia completa