GNU/Linux >> Linux Esercitazione >  >> Linux

Tutto ciò che devi sapere sul comando Chmod di Linux

Se hai familiarità con il filesystem di Linux, sai che tutti i file di sistema sono archiviati nella directory root (/). Linux riserva alcune autorizzazioni specifiche per il file system solo per l'utente root. La principale differenza tra il filesystem del sistema operativo basato su Linux e altri sistemi operativi è che Linux riserva alcune autorizzazioni specifiche per il file system. Se non sei un utente root, non puoi eliminare, spostare o modificare i file root dal tuo sistema. Ad esempio, se hai un server localhost in esecuzione sul tuo sistema Linux, non puoi spostare i file di configurazione del server senza l'autorizzazione di root. Anche tu non puoi modificare le impostazioni di configurazione senza l'autorizzazione di root. Per modificare lo stato del filesystem, devi conoscere i comandi chmod. Il comando chmod ti permette di leggere, scrivere ed eseguire file su un sistema Linux.

Comando Chmod su Linux

Linux non è usato solo per affidabilità e sicurezza; è anche usato per scopi multifunzionali. Puoi eseguire server, attività multiutente e altro ancora. Il problema arriva quando assegni un utente al tuo sistema ma non concedi l'accesso come root. A volte, quell'utente potrebbe aver bisogno di fare del lavoro da superutente per configurare e rendere funzionale l'ambiente.

Viene la nozione del comando chmod per Linux. Come ho detto prima, Linux non è usato solo per il multitasking o il lavoro multifunzionale; viene utilizzato anche per multiutente. Il comando chmod può modificare le attività di lettura, scrittura ed esecuzione con solo una password di root su un sistema Linux.

Nell'intero post, discuteremo le differenze tra chmod 777, chmod 755 o chmod 600 e altri comandi chmod sul sistema Linux.

Se sei un utente appassionato di Linux, puoi seguire questo link per ottenere formazioni più dettagliate sul comando chmod su Linux. Nel seguente link, troverai una tabella come mostrato nell'immagine qui sotto. È necessario inserire il valore dell'autorizzazione specifica. La tabella ti mostrerà automaticamente quale tipo di permessi sono definiti dai comandi specifici.

Conosci lo stato attuale delle autorizzazioni di un file/directory su Linux

Ora ci sono metodi per controllare i dettagli delle autorizzazioni di un file o di una directory in Linux. È possibile utilizzare il metodo GUI o il metodo CLI per verificare lo stato delle autorizzazioni di un file. Qui impareremo entrambi i metodi su come conoscere lo stato di autorizzazione corrente di un file sul nostro sistema.

Metodo 1:utilizza il metodo GUI per verificare lo stato dell'autorizzazione

L'uso del metodo dell'interfaccia utente grafica è il metodo più semplice per controllare i dettagli di un file su Linux. Devi solo selezionare il file e fare clic con il tasto destro del mouse sul file. Dal menu a tendina, troverai l'opzione Proprietà. Seleziona l'opzione Proprietà che aprirà una nuova finestra di dialogo.

- -

Dalla finestra di dialogo, fare clic sul menu Autorizzazione. Lì troverai le informazioni dettagliate sullo stato dell'autorizzazione nel file. Puoi vedere le informazioni sul proprietario, i record di accesso, le informazioni sul gruppo e il contenuto di sicurezza di quel file.

Metodo 2:metodo CLI per conoscere lo stato di autorizzazione di un file

Gli utenti esperti di Linux vogliono sempre utilizzare il metodo CLI per completare qualsiasi attività. Bene, eccolo qui, puoi controllare lo stato di lettura, scrittura ed esecuzione di qualsiasi file o directory dalla shell del tuo terminale Linux. In questo metodo, utilizzeremo i comandi della lista lunga (ls -l) per ottenere lo stato dell'autorizzazione.

Puoi avere un'idea guardando le seguenti righe di comando del terminale fornite di seguito su come ottenere lo stato di autorizzazione di qualsiasi file utilizzando l'interfaccia della riga di comando del terminale.

cd Documents
ls
ls -l sampledata.zip

Qui puoi vedere che il risultato di output inizia con un trattino (-), il che significa che l'esempio è un file, non una directory. Il simbolo della directory inizia con d. Quindi, il rw indica il permesso di lettura e scrittura di quel file.

Per eseguire una dimostrazione, puoi eseguire le seguenti righe di comando fornite di seguito per creare un nuovo file e vedere le autorizzazioni di quel file.

touch newfile.txt
chmod g+w newfile.txt
ls -og newfile.txt

Nell'immagine sopra, puoi vedere che il permesso è scritto come -rw-rw-r-- 1; qui il rw il simbolo significa che il file ha sia l'autorizzazione in lettura che in scrittura. E il segno numerico 1 significa che l'utente ha l'autorizzazione per eseguire il file. Le sintassi di base dei permessi numerici sono spiegate di seguito.

  • 0 =L'utente dispone dell'autorizzazione per leggere, scrivere ed eseguire il file.
  • 1 =L'utente corrente dispone dell'autorizzazione per eseguire il file.
  • 2 =  Utilizza l'autorizzazione per scrivere il file.
  • 3 =L'utente ha il permesso di scrivere ed eseguire il file.
  • 4 =L'utente dispone dell'autorizzazione di sola lettura.

Capire le sintassi e il comando chmod su Linux

Il comando chmod ha alcune sintassi che devi conoscere per comprendere l'output del comando. Qui sto arruolando spiegazioni delle sintassi di base del comando Chmod su Linux. In questa fase, impareremo anche alcuni comandi chmod primari che potresti dover utilizzare quotidianamente.

  • u Il tu la sintassi menziona l'utente che possiede il file o la directory.
  • g Il g la sintassi menziona il gruppo a cui appartiene il file.
  • o Il o la sintassi indica che il file è di proprietà di tutti gli utenti.
  • a La a la sintassi indica che il file è di proprietà di tutti gli utenti e gruppi.
  • r Il r la sintassi indica che il file ha l'autorizzazione di sola lettura.
  • w Il noi la sintassi indica che ha il permesso di scrivere il file.
  • x La x la sintassi indica che l'utente corrente ha l'autorità per eseguire il file.
  • Il la sintassi indica che l'utente ha il permesso di eliminare il file.

1. chmod -R 755:Modifica autorizzazione su un'intera directory

Il chmod 755 è spesso usato come -R 755 nella shell di Linux per modificare i permessi del filesystem. Puoi eseguire i comandi chmod 775 sulla shell del tuo terminale Linux se non puoi scrivere o rimuovere file da nessuna directory. Il comando chmod -R 775 ha il potere di modificare l'autorizzazione per un'intera directory anziché per un singolo file.

chmod -R 755 directory
sudo chmod -R 755 /var/www/html/

Nell'immagine seguente, puoi vedere che l'output di log-list (ls -l) ha già modificato i permessi di lettura, scrittura ed esecuzione per la directory.

2. chmod 777:Consenti autorizzazioni per tutti gli utenti

Qui vedremo l'uso dei comandi chmod 777 sul sistema Linux. Fondamentalmente, tutti i comandi chmod sono associati al filesystem Linux. Per comprendere meglio i comandi chmod, ti consiglio di conoscere anche la gerarchia del filesystem di Linux.

Tuttavia, i comandi chmod 777 sono usati su Linux per scrivere ed eseguire il file. I seguenti comandi del terminale possono aiutarti a farti un'idea di base di come funziona il comando chmod 777 su Linux.

chmod 777 filename
sudo chmod 777 /var/www/
sudo chmod -R 777 /var/www/

Nell'immagine sopra, puoi vedere che l'output inizia con dr sintassi e ha il wxr sintassi insieme ad esso, il che significa che il percorso di destinazione è una directory e dispone dei permessi di scrittura, esecuzione e lettura. Alla fine dell'output, il valore numerico 3 indica che la corrente ha il permesso di scrivere ed eseguire la directory.

3. chmod +x :Autorizzazione all'esecuzione di file/directory

Ecco che arriva il comando chmod più rischioso per Linux. Se sei un principiante del sistema Linux, non consiglierei di usare il comando chmod +x sul tuo sistema. Fondamentalmente, il comando chmod+x viene utilizzato per eseguire il file o per terminare il processo. Con il potere del superutente, puoi eseguire il comando chmod+x per distruggere l'intero sistema.

Ecco alcuni comandi chmod+x per i sistemi Linux che puoi seguire per una migliore comprensione. Nel valore di output, il segno numerico 1 simboleggia che l'utente corrente dispone dell'autorizzazione per eseguire il file.

sudo chmod +x /path/to/file
sudo chmod a+rx /usr/local/bin/composer

4. chmod 755:Consenti all'utente root di leggere e scrivere file su Linux

In precedenza, abbiamo visto l'uso del comando chmod -R 755 per i sistemi Linux; ma ora vedremo gli usi di chmod 755 su un sistema Linux. La principale differenza tra chmod -R 755 e chmod 755 è che -R 775 consente a tutti gli utenti di modificare l'intera directory, mentre il comando 775 consente solo all'utente root di leggere e scrivere il filesystem.

Puoi seguire i seguenti metodi per eseguire i comandi chmod 755 sulla shell del tuo terminale Linux.

chmod 755 /path/to/file
chmod 755 /usr/local/bin/certbot-auto
chmod 755 /home/UbuntuPIT/New_TES/code/SG_V1.0/Voice-data.pl

5. chmod 700:Consenti autorizzazione di lettura, scrittura ed esecuzione per il proprietario

Se sei il proprietario del tuo sistema Linux e ancora non riesci a scrivere o eseguire un file specifico dal tuo filesystem, ciò potrebbe verificarsi a causa della mancanza della giusta autorizzazione al sistema. Perché dovrei ottenere l'autorizzazione per eseguire file dal mio PC mentre sono l'utente root?

Bene, potresti già sapere che il filesystem Linux non funziona come Windows o altri sistemi operativi. Linux vuole assicurarsi che tu sappia cosa stai facendo. Ecco perché, nonostante sia il proprietario, potresti dover ottenere l'autorizzazione chmod 700 per eseguire un file specifico dal tuo sistema Linux.

Puoi vedere i seguenti comandi del terminale di seguito per capire come funziona il comando chmod 700 su Linux.

chmod 700 /path/to/file
sudo chmod 700 /etc/ssl/private

Nell'immagine sopra, puoi vedere che chmod viene eseguito come utente root e non puoi vedere il risultato dell'output lungo (ls-l) senza il privilegio di root.

6. chmod 666:Disabilita l'esecuzione per tutti gli utenti su Linux

Come amministratore di sistema Linux, personalmente ho trovato molto interessanti i comandi chmod 666. Questo comando è molto utile per coloro che devono lavorare in remoto da un sistema all'altro. A volte i client ottengono discrepanze con il filesystem. Puoi aggiungere la regola chmod 666 per tutte le directory in modo che gli utenti ingenui non corrispondano al filesystem.

Torniamo al punto; in Linux, il chmod 666 disabilita il permesso di esecuzione di file o directory per tutti gli utenti. I comandi chmod 666 consentono solo agli utenti di leggere e scrivere file. Puoi vedere le righe di comando del terminale fornite di seguito per avere un'idea migliore di come funzionano i comandi chmod 666 su un sistema Linux.

sudo chmod -c 666 /path/to/file

7. chmod 644:accedi all'autorizzazione di sola lettura per tutti gli utenti

Se sei un amministratore di sistema o il proprietario di un server FTP locale, questo comando ti aiuterà. È possibile impostare regole per consentire all'utente o ai visitatori di visualizzare e scaricare solo il file. In questo modo i tuoi file saranno al sicuro e potrai condividerli tra molti utenti.

In Linux, il comando chmod 644 funziona sia per i file che per le directory. Puoi impostare i comandi chmod 644 in qualsiasi filesystem, server o server di media player Linux come Plex o Emby. Ecco un esempio di come eseguire i comandi chmod 644 su un sistema Linux.

sudo chmod 644 /path/to/file

8. chmod 600:Consenti lettura-scrittura, ma nessuna esecuzione

Supponiamo di lavorare per una società multinazionale per lavorare in un server di rete locale per condividere documenti o file con il tuo collega. In tal caso, potresti non voler concedere loro il permesso di eliminare qualsiasi file dalla tua directory personale.

Per risolvere questo problema, gli utenti Linux possono utilizzare i comandi chmod 600. Il comando chmod 600 consente agli utenti o ai client di leggere e scrivere il file e le directory. Ma non consente loro di eliminare o eseguire le directory. Nessuno ma solo tu puoi eseguire file dal tuo sistema in un sistema protetto da chmod 600.

sudo chmod 600 /path/to/file/

Suggerimenti extra – 1:usa il comando Chmod per installare i pacchetti su Linux

Finora, abbiamo visto pochissimi comandi chmod di base per le distribuzioni Linux per accedere o negare i permessi al filesystem. Ma lo sapevi che esiste anche un uso del comando chmod sul sistema Linux? Sì, molto spesso potrebbe essere necessario eseguire i comandi chmod per installare un pacchetto sul tuo sistema Linux.

Dopo aver scaricato il file del pacchetto binario di un'applicazione, lo installi direttamente sul tuo sistema Linux tramite i comandi chmod. Ecco un esempio di come appaiono i comandi chmod durante l'installazione di pacchetti tramite il comando chmod sul tuo sistema Linux.

$ chmod +x install.sh
$ sudo ./install.sh

Suggerimenti extra – 2:Usa il comando Chmod per gestire gli errori da principiante su Linux

Poiché il comando chmod è molto potente in Linux, dovresti maneggiarlo con molta attenzione. Solo perché hai i privilegi di root, non puoi comunque eseguire chmod in nessuna directory. Eseguire il comando chmod senza capire può costarti molto. Ora vedremo alcuni problemi che potrebbero verificarsi se esegui i comandi chmod con noncuranza sul tuo sistema Linux.

Caso 1: Esegui casualmente il comando chmod 655 e non puoi eseguire lavori da superutente

Se esegui chmod 655 nella tua directory root(/), è possibile che tu non abbia più l'accesso come root sul tuo filesystem Linux. Se hai già commesso quell'errore, non ci sono preoccupazioni; esiste un metodo per recuperare i permessi di root del tuo sistema.

È necessario ottenere un disco USB live o un CD del sistema operativo Linux, quindi inserirlo e passare alla modalità sessione live. Quindi esegui il seguente comando chmod sulla shell del tuo terminale per recuperare i tuoi privilegi di root.

sudo chmod /path/to/root/ 755

Caso 2:aggiungere l'autorizzazione dopo aver rilasciato l'autorizzazione

Di tanto in tanto, potrebbe esserci un errore nel non consentire l'autorizzazione a una directory anziché a un'altra directory. In tal caso, potresti perdere temporaneamente l'accesso alla directory. Per risolvere problemi come questo, devi prima correggere la directory che hai eseguito accidentalmente. Puoi obbedire alla riga di comando fornita di seguito per capire come funziona il comando chmod su Linux.

sudo chmod a-x /directory_that_you_accidentally_dropped

Ora, esegui il seguente comando chmod sul tuo terminale Linux per correggere la directory.

sudo chmod a+X /directory_that_you_accidentally_dropped

Caso 3:Nega autorizzazione per accedere a un server Linux

Se sei un amministratore di server Linux ed esegui i comandi chmod 444 nel percorso di amministratore del tuo server, è possibile che tu non sia più in grado di accedere al tuo server. In tal caso, è necessario eseguire i seguenti comandi chmod 555 nella shell del terminale per risolvere il problema.

sudo chmod 555 <directory_path>

Ecco un altro suggerimento, se esegui i comandi chmod 000 in qualsiasi directory, nessuno tranne l'utente root può leggere e scrivere quella directory.

Le ultime parole

In Linux, i comandi chmod sono molto utili quando rimani bloccato con l'autorizzazione del filesystem. Come amministratore di sistema Linux, devi conoscere tutti i comandi chmod primari su Linux. Nell'intero post, ho descritto il comando chmod di Linux più utilizzato. Ho anche mostrato come salvare il tuo sistema dagli errori da principiante del comando chmod. Se hai bisogno di ulteriore aiuto con il comando chmod, puoi sempre aprire il tuo terminale Linux e chmod --help .

Se ti piace questo post e trovi questo post utile, condividilo con i tuoi amici e la comunità Linux. Puoi anche menzionare se ho perso qualche comando chmod essenziale. Ti invitiamo inoltre a scrivere le tue opinioni su questo post nella sezione commenti.


Linux
  1. Comando Chmod in Linux (autorizzazioni file)

  2. Tutto quello che devi sapere su Ubuntu 13.04

  3. Compressione file Linux:tutto ciò che devi sapere

  4. Permessi dei file Linux:tutto ciò che devi sapere

  5. 10 comandi di base di Linux che devi conoscere

Tutto quello che devi sapere su Black Lab Linux

Tutto ciò che devi sapere su Linux Mint Distro

Tutto ciò che devi sapere sugli inode in Linux

Tutto ciò che è importante sapere su Hard Link in Linux

Tutto ciò che è importante sapere sull'UID in Linux

Tutto quello che c'è da sapere sulla directory /tmp di Linux