Come modificare le autorizzazioni dei file in Linux

Linux, come altri sistemi operativi, si organizza usando directory e file a cui è possibile accedere, modificare o eseguire potenzialmente. Per prevenire l’anarchia interna, Linux fornisce diversi livelli di autorizzazione per interagire con quei file e directory. Se si desidera modificare tali autorizzazioni, è necessario il comando chmod (cambia modalità).


Presentazione del comando chmod

Cosa può permetterti di cambiare chmod? L’autorizzazione può essere concessa o rifiutata a diversi utenti per leggere (r) un file, scrivere (w) nel file ed eseguire (x) il file, nel caso di un programma. Il sistema di autorizzazione per le directory è molto simile: “r” per leggere il contenuto della directory, “w” per scrivere nella directory creando file o sottodirectory e “x” per entrare in quella directory.

Questi livelli di autorizzazione possono essere definiti per il proprietario (u) del file o della directory, il gruppo (g) a cui appartiene il proprietario, gli altri (o) utenti o semplicemente tutti (a) gli utenti contemporaneamente.

Utilizzo del comando ls per un elenco di formati lunghi

Se usi il comando ls con l’opzione -l (per un elenco di formati lunghi) su un determinato file come my_app, ad esempio, vedrai un output simile a questo:

1 $ ls -l my_app

O

1 -rwxr-x – x 1 hadley tech 729 15 mar 08:01 my_app

Il primissimo personaggio (““In questo caso) mostra che l’entità” my_app “è effettivamente un file. Se fosse stata una directory, avremmo visto d come il primo carattere. Successivamente, vediamo tre lotti di tre caratteri (rwxr-x – x). I primi tre (rwx) indicano che il proprietario del file (chiamato “Hadley” un po ‘più avanti) ha il permesso di leggere, scrivere ed eseguire my_app. I tre successivi (r-x) indicano che i membri dello stesso gruppo di Hadley (il gruppo “tech”) possono leggere ed eseguire my_app, ma non possono scriverlo o modificarlo. I tre caratteri finali (–x). significa che altri utenti possono semplicemente eseguire my_app, ma né leggere né scrivere su di esso.

Il comando chmod in azione

Quindi, come possiamo usare chmod per modificare queste autorizzazioni? Useremo un comando come:

1 $ chmod 771 my_app

O

1 $ chmod g + w my_app

Nel contesto sopra, questi due comandi in realtà significano la stessa cosa. Per capire perché, dobbiamo capire che chmod ha una peculiarità. Accetta le istruzioni per modificare le autorizzazioni dei file per diversi utenti o usando combinazioni di queste lettere (testo o formato simbolico), o utilizzando un sistema di numeri (formato numerico o ottale). Ecco come corrispondono i due sistemi:

  • All’autorizzazione a leggere, r, viene assegnato il valore numerico di 4
  • All’autorizzazione a scrivere, w, viene assegnato il valore 2
  • Il permesso di eseguire, x, è dato il valore 1

Quindi nella situazione originale nel nostro esempio sopra, Hadley, che è il proprietario del file, ha il permesso di fare tutto (rwx), o in termini numerici, ha il permesso 4 + 2 + 1 = 7. Allo stesso modo, altri membri di Hadley gruppo, “tecnologia”, ha il permesso di leggere ed eseguire il file, ma non di scriverlo. Quindi hanno l’autorizzazione r-x, o numericamente hanno 4 + 1 che fa 5. Tutti gli altri hanno solo –x o 1. La nostra stringa di caratteri -rwxr-x – x diventa 751 in cifre.

Quindi il nostro comando chmod 771 my_app sopra sta semplicemente cambiando il livello di autorizzazione 751 a 771. In altre parole, stiamo solo aggiungendo l’autorizzazione di scrittura (con 2) ai membri del gruppo di Hadley, “tech”. Ora diventa chiaro anche il significato dell’altra versione di questo stesso comando: g + w significa semplicemente “aggiungere il permesso di scrittura ai membri del gruppo di Hadley”, proprio come prima.

Se tutti i permessi di lettura, scrittura ed esecuzione fossero concessi a tutti, le due forme del comando chmod sarebbero:

1 $ chmod 777 my_app

O

1 $ chmod ugo + rwx my_app

E avrebbero entrambi lo stesso effetto.

Opzioni aggiuntive del comando chmod

Il comando chmod ha anche opzioni che possono essere utili per conoscere. Loro includono:

  • -R per l’applicazione ricorsiva delle stesse autorizzazioni a una directory e a tutte le sottodirectory e file nella directory e nelle sue diverse sottodirectory
  • -c per segnalare quando viene apportata una modifica, -f per eliminare i messaggi di errore e –v (dettagliato) per generare una diagnostica per ogni file o directory elaborato

Per esempio,

1 $ chmod -R a + rwx / mydir

Ciò garantirebbe a tutti (a) di disporre delle autorizzazioni complete di lettura, scrittura ed esecuzione per mydir e tutte le sottodirectory e i file in essa contenuti.

Fonti di foto: newsyaps.com

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map