logo

Comando chmod in Linux con esempi

ILchmodIl 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. Utilizzandochmod 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.txt

Produzione:



chmod' title=

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 dichmodcomando.
  • 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 dichmodComando in Linux

ModalitàProprietarioGruppoAltriUtilizzo tipico per gli script
700 rwx------Script privato (solo tu puoi eseguire/modificare).
711 rwx--X--XSolo eseguibile/attraversabile; contenuto non leggibile.
744 rwxR--R--Modifica ed esegui; altri possono leggere (non eseguire).
750 rwxr-x---Eseguibile solo per team; nascosto agli altri.
754 rwxr-xR--Exec per il gruppo di sola lettura per gli altri.
755 rwxr-xr-xComune: tutti possono eseguire, solo tu modifichi.
775 rwxrwxr-xCondiviso 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.

10 di 50,00
  • 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 unchmodcalcolatrice.

calcolatrice' loading='lazy' title=

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 filename

Tavolo:

quadro di raccolta Java
Tipo utenteAutorizzazioniBinarioValore
Proprietariorwx1117
Grupporw-1106
Altrirw-1106

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' loading='lazy' title=ls -l a.txt   (utilizzato per visualizzare tutte le autorizzazioni di cui dispone a.txt)

Dopo aver ripristinato o annullato le modifiche:

ripristino delle modifiche chmod in Linux' loading='lazy' title=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 filecdcomando per accedere alla directory in cui si trova lo script.

Per esempio:

cd /path/to/your/script

Passaggio 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 -l
controllando l'autorizzazione corrente' loading='lazy' title=controllando 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:

mappa java
chmod +x example.sh

Questo 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 -l
verificare le modifiche dopo aver reso eseguibile lo script' loading='lazy' title=verificare 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.sh
eseguire lo script' loading='lazy' title=eseguire lo script

Questa notazione dice a Linux di cercare nella directory corrente (.) per lo script denominatoexample.sh.

Quiz suggerito Modifica quiz 5 domande

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

Spiegazione:

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?

enumerazioni Java
  • UN

    chmod a-x script.sh

  • B

    chmod o-x script.sh

  • C

    chmod go-x script.sh

  • D

    chmod u-x script.sh

Spiegazione:

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

Spiegazione:

751 > proprietario: rwx gruppo: r-x altri: --x (solo esecuzione).

interruttore C#

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/

Spiegazione:

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

Spiegazione:

755 > il proprietario scrive che tutti possono eseguire; +t limita l'eliminazione dei file ai proprietari dei file.

Comando chmod in Linux con esempiQuiz completato con successo Il tuo punteggio:  2/5Precisione: 0%Accedi per visualizzare la spiegazione 1/5 1/5 < Previous Avanti >