Comando chmod in Linux con esempi
IL chmod Il comando (modalità modifica) in Linux/UNIX viene utilizzato per impostare o modificare le autorizzazioni di file e directory. Ogni file in Linux ha un proprietario, un gruppo e autorizzazioni associate che determinano chi può leggere, scrivere o eseguire il file. Utilizzando chmod Gli amministratori e gli utenti possono controllare queste autorizzazioni per garantire accesso e sicurezza adeguati. Consideriamo l'esempio
Utilizza il comando chmod dando il permesso 745
Comando:
chmod 745 newfile.txtProduzione:
![]()
Ripartizione di
-rwxr--r-x:
- Proprietario (
7):rwx> leggi scrivi esegui - Gruppo (
4):r--> sola lettura - Altri (
5):r-x> leggi ed esegui
Ecco il file:
- Completamente accessibile (lettura/scrittura/esecuzione) da parte del proprietario
- Di sola lettura per il gruppo
- Leggi ed esegui per gli altri
Sintassi del comando chmod
chmod [options] [mode] [File_name]Qui
- Opzioni: Flag facoltativi che modificano il comportamento di
chmodcomando. - Modalità: I permessi da impostare sono rappresentati da un numero ottale di tre cifre o da una notazione simbolica (ad esempio u=rwgo=rx).
- Nome_file: Il nome del file o della directory per il quale devono essere modificate le autorizzazioni.
Opzioni disponibili nel comando chmod Linux
Ecco alcune opzioni utili di chmod Comando in Linux
| Modalità | Proprietario | Gruppo | Altri | Utilizzo tipico per gli script |
|---|---|---|---|---|
| 700 | rwx | --- | --- | Script privato (solo tu puoi eseguire/modificare). |
| 711 | rwx | --X | --X | Solo eseguibile/attraversabile; contenuto non leggibile. |
| 744 | rwx | R-- | R-- | Modifica ed esegui; altri possono leggere (non eseguire). |
| 750 | rwx | r-x | --- | Eseguibile solo per team; nascosto agli altri. |
| 754 | rwx | r-x | R-- | Exec per il gruppo di sola lettura per gli altri. |
| 755 | rwx | r-x | r-x | Comune: tutti possono eseguire, solo tu modifichi. |
| 775 | rwx | rwx | r-x | Condiviso all'interno di un gruppo (sia il proprietario che il gruppo possono modificare/eseguire). |
Nota: Le opzioni in "chmod" vengono utilizzate fondamentalmente per apportare modifiche in blocco e modificare i permessi su più file o directory contemporaneamente.
Tipi di autorizzazione chiave:
In Linux autorizzazioni determinare chi ha il controllo su un file o una directory. Queste autorizzazioni specificano chi può leggere (accedere), scrivere (modificare o eliminare) o eseguire (eseguire) un file in base ai ruoli utente: gruppo proprietario e altri.
- Leggere (
r): Permette di visualizzare il contenuto del file. - Scrivere (
w): Permette di modificare il file o la directory. - Esegui (
x): Consente di eseguire il file come programma o di accedere alla directory.
Esempi di utilizzo della modalità ottale:
Supponiamo di dare il permesso di lettura e scrittura al proprietario del file. Permessi di lettura, scrittura ed eseguibilità per il gruppo. Autorizzazione di sola lettura per l'Altro. Loro sarebbero il nostro comando.
chmod 674 [file_name]Qui.
- 6 rappresentano l'autorizzazione del proprietario del file che sono (rw-).
- 7 rappresentano il permesso del gruppo che sono (rwx).
- 4 rappresentano il permesso dell'Altro che è (R--).
Nota: È possibile visualizzare e calcolare i permessi dei file, ad esempio chi può accedere in lettura, scrittura (eliminare o modificare) o eseguire un file per il gruppo proprietario e altri (pubblico) utilizzando un chmod calcolatrice.
Qui utilizziamo una calcolatrice per visualizzare le autorizzazioni. Ad esempio, il proprietario ha i permessi di lettura, scrittura ed esecuzione mentre il gruppo e gli altri (pubblici) hanno solo i permessi di lettura e scrittura ma non possono eseguire il file.
Autorizzazione numerica equivalente:
Sintassi:
chmod 766 filenameTavolo:
| Tipo utente | Autorizzazioni | Binario | Valore |
|---|---|---|---|
| Proprietario | rwx | 111 | 7 |
| Gruppo | rw- | 110 | 6 |
| Altri | rw- | 110 | 6 |
Esempio di ripristino delle modifiche apportate dal comando 'chmod' in Linux
Per annullare o ripristinare le modifiche apportate dal comando 'chmod' in Linux possiamo utilizzare il file "chmod". comando di nuovo, ma questa volta dovremmo menzionare l'autorizzazione corretta che desideriamo.
Ecco i passaggi per annullare o annullare le modifiche:
- Determina l'autorizzazione corretta che desideri e utilizza nuovamente il comando "chmod".
Ad esempio: se vogliamo ripristinare le modifiche a 'rw-r--r--' (autorizzazione di lettura e scrittura per il proprietario, autorizzazione di sola lettura per il gruppo e altri), in base a ciò il nostro valore ottale sarebbe '644' (lettura = 4 scrittura = 2). - Ora apri la directory e scrivi il comando indicato:
chmod 644 [file_or_directory_name]Qui invece di "[file_or_directory_name]" usa il nome del tuo file o directory.
Supponiamo che il nome del nostro file sia "a.txt"
Prima di ripristinare o annullare le modifiche:
ls -l a.txt (utilizzato per visualizzare tutte le autorizzazioni di cui dispone a.txt)
Dopo aver ripristinato o annullato le modifiche:
Qui possiamo vedere che sono state apportate modifiche
Implementazione pratica di come rendere eseguibile lo script in Linux
In Linux gli script sono tipicamente scritti in linguaggi come Bash Python o Perl. Sebbene il contenuto dello script sia fondamentale, garantire che disponga delle autorizzazioni eseguibili è altrettanto importante. Senza permessi di esecuzione Linux non consentirà l'esecuzione dello script.
Passaggio 1: accedere alla directory dello script
Apri il terminale e usa il file
cdcomando per accedere alla directory in cui si trova lo script.Per esempio:
cd /path/to/your/scriptPassaggio 2: controlla le autorizzazioni attuali
Utilizzare il `
ls`comando con il `-l`opzione per elencare i file nella directory insieme ai relativi permessi. Questo passaggio ti aiuta a identificare le autorizzazioni attuali del tuo script:ls -lcontrollando l'autorizzazione corrente
Passaggio 3: rendere eseguibile lo script
Per rendere eseguibile uno script è necessario utilizzare l'estensione `
chmod`comando. Supponendo che il tuo script si chiami "example.sh`puoi renderlo eseguibile con il seguente comando:chmod +x example.shQuesto comando aggiunge l'autorizzazione di esecuzione (+x) allo script.
Passaggio 4: verifica le modifiche
Esegui il file `
ls -l`eseguire nuovamente il comando per verificare che lo script ora disponga delle autorizzazioni di esecuzione. Dovresti vedere una "x" nel campo dei permessi per lo script:ls -lverificare le modifiche dopo aver reso eseguibile lo script
Passaggio 5: eseguire lo script
Ora che il tuo script ha i permessi di eseguibilità puoi eseguirlo utilizzando il comando `
./`notazione seguita dal nome dello script. Per esempio:./example.sheseguire lo script
Questa notazione dice a Linux di cercare nella directory corrente (
Quiz suggerito Modifica quiz 5 domande.) per lo script denominatoexample.sh.Quale autorizzazione numerica garantisce che solo il proprietario del file possa leggere e scrivere mentre il gruppo e altri possono solo leggere il file?
- UN
file chmod 777.txt
- B
file chmod 664.txt
- C
file chmod 644.txt
- D
file chmod 600.txt
644 > proprietario: rw- gruppo: r-- altri: r--.
Da quale comando in modalità simbolica viene revocata l'autorizzazione di esecuzione solo altri senza toccare le autorizzazioni del proprietario o del gruppo?
- UN
chmod a-x script.sh
- B
chmod o-x script.sh
- C
chmod go-x script.sh
- D
chmod u-x script.sh
o-x rimuove i diritti di esecuzione solo da "altri".
Quale configurazione chmod codifica correttamente uno schema di autorizzazione in cui il proprietario ha piena autorità operativa, il gruppo ha capacità di sola invocazione e altri possono semplicemente ispezionare senza modifiche?
- UN
chmod 751 app.sh
- B
chmod 754 app.sh
- C
chmod 715 app.sh
- D
chmod 571 app.sh
751 > proprietario: rwx gruppo: r-x altri: --x (solo esecuzione).
Quale comando applica un modello di autorizzazione garantendo che ogni file creato all'interno di una directory erediti automaticamente il gruppo della directory indipendentemente dalla proprietà dell'utente?
- UN
chmod +t dir_condivisa/
- B
chmod g+s directory_condivisa/
- C
chmod u+s directory_condivisa/
- D
chmod 777 directory_condivisa/
g+s (setgid) forza i nuovi file a ereditare il gruppo della directory.
Uno script deve essere eseguibile per tutti gli utenti e modificabile solo dal suo proprietario e la directory deve impedire a chiunque, tranne l'effettivo proprietario del file, di eliminare o rinominare i file. Quale coppia di comandi soddisfa questo modello di sicurezza?
- UN
chmod 777 deploy.sh; chmod +t /var/script
- B
chmod 755 deploy.sh; chmod +t /var/script
- C
chmod 700 deploy.sh; chmod g+s /var/scripts
- D
chmod 755 deploy.sh; chmod 777 /var/script
755 > il proprietario scrive che tutti possono eseguire; +t limita l'eliminazione dei file ai proprietari dei file.
Quiz completato con successo Il tuo punteggio: 2 /5 Precisione: 0% Accedi per visualizzare la spiegazione 1 /5 1 /5 < Previous Avanti >
ls -l a.txt (utilizzato per visualizzare tutte le autorizzazioni di cui dispone a.txt)
Qui possiamo vedere che sono state apportate modifiche
controllando l'autorizzazione corrente
verificare le modifiche dopo aver reso eseguibile lo script
eseguire lo script