Spiegazione delle autorizzazioni per file e directory Linux

Linux è un sistema operativo multiutente, quindi più utenti possono interagire con lo stesso computer contemporaneamente utilizzando Linux. Essendo un sistema operativo multiutente, è importante che Linux garantisca la sicurezza e la privacy dei file appartenenti a diversi utenti.

Per raggiungere questo obiettivo, Linux dispone di un sistema elaborato per gestire i permessi di file e directory. In questo modo, gli utenti Linux possono controllare l’accesso ai file da parte di diversi utenti e quali azioni gli utenti possono intraprendere quando utilizzano il computer.

Come utente Linux, è fondamentale capire come Linux gestisce i permessi di file e directory e come puoi lavorare con i diversi permessi disponibili per proteggere i tuoi file e garantire la funzionalità del tuo computer. Per capire come Linux gestisce i permessi di file e directory, diamo prima un’occhiata alle diverse categorie di utenti in un sistema operativo Linux.

Categoria di utenti in Linux

La prima categoria di utenti sono i proprietari di un file o di una directory. Ogni file o directory in Linux ha un proprietario. A questo proprietario vengono generalmente concesse più autorizzazioni per il proprio file o directory. Il proprietario di un file è solitamente indicato con la lettera u per utente.

In Linux, più utenti possono essere inseriti in un gruppo e ricevere le autorizzazioni per i file come gruppo. Questi sono conosciuti come proprietari del gruppo e sono rappresentati dalla lettera g.

Ad esempio, se hai un file con consigli sui libri e desideri concedere a diversi utenti autorizzazioni simili per il file, un modo semplice per farlo è inserire gli utenti in un gruppo e concedere autorizzazioni al gruppo nel suo insieme.

L’altra categoria di utenti è detta altri ed è rappresentata dalla lettera o. Si tratta di utenti che non possiedono il file e che non fanno parte di un gruppo con autorizzazioni per il file. Altro rappresenta tutti gli altri nel sistema.

Tutti gli utenti di un computer, ovvero i proprietari di file, gli utenti di gruppi e altri utenti possono specificare utilizzando la lettera a.

Crea e aggiungi un nuovo utente in Ubuntu Linux

Diamo un’occhiata a come creare e aggiungere un nuovo utente in Ubuntu Linux. Per seguire questo tutorial, crea anche un nuovo utente.

1. Apri Impostazioni e nella barra dei menu di sinistra, fai clic su Utente, quindi su Sblocca e fornisci la password quando richiesto. È necessario fare clic su Sblocca in modo da poter aggiungere un nuovo utente. Per impostazione predefinita, questa funzionalità è bloccata.

2. Una volta sbloccato, vedrai un’opzione Aggiungi utente, fai clic su di essa per aggiungere un nuovo utente

3. Per creare un nuovo utente, fornire il nome completo e il nome utente, selezionare Imposta una password adesso e impostare la password. Inoltre, assicurati che il tipo di account sia impostato su Amministratore, quindi fai clic su Aggiungi per aggiungere un utente.

4. Dovresti vedere un nuovo account utente appena creato visualizzato come mostrato di seguito.

Autorizzazioni per file e directory Linux

Le autorizzazioni si riferiscono alle regole che regolano l’accesso a file e directory e alle azioni che possono essere eseguite su di essi da diversi utenti. Linux ha tre categorie principali di permessi:

  Come guardare YouTube sul desktop Linux con FreeTube
  • Read(r) – consente a un utente di visualizzare il contenuto di un file ed elencare il contenuto di una directory
  • Write(w) – consente all’utente di modificare il contenuto di un file. Con le directory, i permessi di scrittura consentono a un utente di modificare il contenuto di una directory, ad esempio creando, eliminando, rinominando o spostando file e sottodirectory nella directory. Tuttavia, le autorizzazioni di scrittura con le directory funzionano solo se l’utente dispone anche delle autorizzazioni di esecuzione.
  • Execute(x) – I permessi di esecuzione significano che un file può essere trattato come un programma che può essere eseguito. Con le directory, il permesso di esecuzione consente a un utente di entrare o “cd” nella directory.
  • Le autorizzazioni di lettura, scrittura ed esecuzione sono assegnate alle tre categorie di utenti disponibili in Linux.

    Puoi anche leggere come rimuovere file e directory in Linux

    Elenco lungo in Linux

    Per visualizzare il contenuto di un file in una directory Linux, in genere eseguiamo il comando ls. Tuttavia, questo elenca solo i file e le directory disponibili e non fornisce alcuna informazione aggiuntiva.

    Per visualizzare ulteriori informazioni sui contenuti è necessario utilizzare il formato di elenco lungo. Per fare ciò, esegui il comando ls con il flag -l. Questo ti darà le autorizzazioni del file, i proprietari di un file e i proprietari del gruppo su un file come mostrato di seguito:

    In Ubuntu, per impostazione predefinita, se non è stato creato alcun gruppo, il nome del gruppo è lo stesso del proprietario del file.

    Per creare un gruppo utilizziamo il comando addgroup. Per aggiungere un gruppo chiamato editor, esegui il comando seguente e fornisci una password quando richiesto

    sudo addgroup editors

    sudo ci consente di eseguire comandi come utente root, che è un superutente con privilegi per eseguire modifiche che interessano tutti gli utenti del computer.

    Per aggiungere utenti a un gruppo utilizziamo la seguente sintassi:

    adduser <user> <group>

    Pertanto per aggiungere sia belmont che madici al gruppo degli editori, eseguiamo

    sudo adduser belmont editors
    sudo adduser madici editors

    Per vedere a quali gruppi appartiene un utente, eseguire:

    groups <username>

    Il risultato dei comandi precedenti è mostrato di seguito:

    Diamo ora un’occhiata agli attributi del file che ci parlano dei tipi di file e delle autorizzazioni sul file. UN.

    Attributi dei file in Linux

    In Linux, gli attributi dei file sono costituiti esattamente da dieci caratteri. Il primo carattere indica il tipo di file. Alcuni dei primi caratteri comuni che rappresentano file diversi includono:

    • d indica una directory
    • – indica un file normale, ad esempio file di testo
    • c indica un file di caratteri speciali
    • l indica un collegamento simbolico
    • b indica un file speciale di blocco

    I restanti nove caratteri vengono utilizzati per mostrare le autorizzazioni del proprietario, del proprietario del gruppo e di altri utenti. I nove personaggi sono divisi in gruppi di tre. Il primo gruppo indica i permessi del proprietario, il secondo gruppo indica i permessi del proprietario del gruppo e gli ultimi tre indicano i permessi per gli altri, cioè ogni altro utente del computer.

    I permessi, per ciascuna categoria, sono indicati iniziando con il permesso di lettura, poi di scrittura ed infine quello di esecuzione. Il permesso di lettura è indicato dalla lettera r, il permesso di scrittura dalla lettera w, e il permesso di esecuzione dalla lettera x.

      Come utilizzare il comando mkfs su Linux

    Il simbolo – viene utilizzato nel caso in cui un utente non disponga di un permesso particolare. Ad esempio, rw- per il proprietario del gruppo significa che ha sia i permessi di lettura che di scrittura ma non ha il permesso di esecuzione su quella directory(d).

    Modifica dei permessi dei file utilizzando la notazione simbolica

    Per modificare le autorizzazioni su un file o una directory, utilizziamo il comando chmod e specifichiamo per chi stiamo modificando le autorizzazioni.

    Può essere il proprietario del file rappresentato dalla lettera u per l’utente, il proprietario del gruppo rappresentato dalla lettera g o altri utenti rappresentati dalla lettera o. Possiamo anche rivolgerci a tutte e tre le categorie di utenti utilizzando la lettera a, che significa tutto quanto sopra.

    La prossima cosa che specifichiamo è il cambiamento che stiamo apportando. Per aggiungere un’autorizzazione utilizziamo +(segno più). Per rimuovere un’autorizzazione utilizziamo – (segno meno). L’ultima cosa che forniamo sono le autorizzazioni che stiamo aggiungendo utilizzando r, w o x per rappresentare le tre autorizzazioni disponibili.

    Per vederlo in azione, crea una directory chiamata libri utilizzando il comando seguente

    mkdir books

    Inserisci o ‘cd’ nella directory:

    cd books

    Crea un file chiamato readingList.txt

    touch readingList.txt

    Elenca a lungo il contenuto della directory dei libri eseguendo:

    ls -l

    L’output è come mostrato:

    Il file che abbiamo creato è un file normale, indicato per primo –, il proprietario e il proprietario del gruppo hanno permessi di lettura e scrittura, mentre gli altri utenti hanno solo permessi di lettura. Per concedere ad altri utenti il ​​permesso di scrivere sul file, eseguiremo il seguente comando:

    chmod o+w readingList.txt

    Per vedere se le autorizzazioni per altri utenti sono cambiate, esegui

    ls -l

    Produzione:

    Nota che i permessi sui file degli altri utenti sono cambiati da r– a rw-, il che significa che ora hanno il permesso di scrittura.

    Per aggiungere i permessi di esecuzione al proprietario (utente) del file eseguire:

    chmod u+x readingList.txt

    Per rimuovere i permessi di scrittura dai proprietari del gruppo, eseguire:

    chmod g-w readingList.txt

    Per rimuovere i permessi di lettura da tutti gli utenti in modo che nessuno possa visualizzare il file, eseguire:

    chmod a-r readingList.txt

    Per aggiungere nuovamente il permesso di lettura per il proprietario del file, eseguire:

    chmod u+r readingList.txt

    Per aggiungere permessi di scrittura ed esecuzione al proprietario del gruppo del file eseguire:

    chomod g+wx readingList.txt

    Modifica delle autorizzazioni utilizzando la notazione ottale

    In Linux, ciascuna delle tre autorizzazioni disponibili ha solo due valori possibili. Il permesso di lettura può essere solo r o – , il permesso di scrittura può essere solo w o – e il permesso di esecuzione può essere solo x o –.

    Pertanto, è possibile ritenere che queste autorizzazioni siano attivate o disattivate e, pertanto, rappresentate utilizzando numeri binari, che hanno solo due valori disponibili. Questo è 1 per attivo o vero e 0 per disattivato o falso. Lì, un permesso come rw– può essere rappresentato come 110 utilizzando numeri binari.

    Pertanto, per ogni categoria di utente, sono sufficienti tre numeri binari per presentare tutti i relativi permessi. Ad esempio, l’autorizzazione per il proprietario, il gruppo e altri rwxrw-r– può essere rappresentata come 111110100 utilizzando un numero binario.

      Come copiare file utilizzando il comando "installa" su Linux

    Tuttavia, per evitare di scrivere numeri binari, che sono lunghi e creano facilmente confusione, un’alternativa migliore è utilizzare i numeri ottali.

    I numeri ottali hanno base 8 e quindi hanno solo 8 valori possibili. Ogni numero ottale corrisponde esattamente a tre cifre binarie.

    Pertanto, un permesso come rw- può essere rappresentato come 110 in binario. L’equivalente ottale di 110 è 6, quindi 6 può essere usato per rappresentare rw-. I numeri ottali possono essere utilizzati per rappresentare le autorizzazioni di lettura, scrittura ed esecuzione del proprietario, del gruppo e di altri come mostrato di seguito:

    Invece di scrivere lunghe cifre binarie, è meglio rappresentare i permessi utilizzando numeri ottali. Pertanto, tutte le autorizzazioni del proprietario, del gruppo e di altri sono rappresentate utilizzando singoli numeri ottali, come mostrato nel diagramma precedente.

    Il vantaggio di utilizzare la notazione ottale per impostare i permessi è che ti consente di impostare i permessi per tutti i tuoi utenti contemporaneamente, a differenza della notazione simbolica, dove puoi impostare i permessi di un solo utente alla volta.

    Tuttavia, l’uso della notazione ottale richiede tempo e pratica per essere in grado di ricordare a cosa si risolve ciascun numero ottale. Detto questo, sentiti libero di fare riferimento al diagramma sopra ogni volta che usi la notazione ottale. Esaminiamo diversi esempi di modifica dei permessi utilizzando la notazione ottale

    Per concedere a tutti gli utenti, ovvero al proprietario, al proprietario del gruppo e ad altri utenti, l’autorizzazione di lettura, scrittura ed esecuzione per readingList.txt, eseguire:

    chmod 777 readingList.txt

    Per verificare se i permessi sono stati modificati, eseguire:

    ls -l

    Produzione:

    total 0
    -rwxrwxrwx 1 madici madici 0 Sep  6 05:45 readingList.txt

    Tieni presente che ora il proprietario, il gruppo e gli altri utenti hanno il permesso di leggere, scrivere ed eseguire readingList.txt.

    Per rimuovere i permessi di scrittura sia dal proprietario del gruppo che da altri, esegui:

    chmod 755 readingList.txt

    Per rimuovere il permesso di esecuzione dal proprietario e da altri eseguire:

    chmod 654 readingList.txt

    Autorizzazioni speciali in Linux

    Linux dispone di tre permessi speciali che possono essere applicati a file e directory oltre ai permessi standard di lettura, scrittura ed esecuzione. Queste autorizzazioni forniscono funzionalità avanzate per il controllo dell’accesso e consentono agli utenti con privilegi inferiori di eseguire file e comandi con privilegi più elevati, proprio come il proprietario del file o il proprietario del gruppo.

    Le autorizzazioni speciali includono:

    • Imposta ID utente (SUID): l’autorizzazione SUID consente a un utente di eseguire un file o un programma con i privilegi del proprietario e non con quelli dell’utente che lo esegue. Ciò è utile quando gli utenti standard devono eseguire attività che richiedono privilegi elevati.
    • Imposta ID gruppo (SGID): l’autorizzazione SGID consente a un utente di eseguire un file con le autorizzazioni del proprietario del gruppo del file, anziché con le autorizzazioni del proprio gruppo effettivo.
    • Sticky Bit – Lo sticky bit è un’autorizzazione solitamente impostata sulle directory per garantire che i file nella directory possano essere eliminati solo dall’effettivo proprietario della directory, dal proprietario di quel particolare file o dall’utente root.

    Le tre autorizzazioni speciali possono essere utilizzate insieme alle autorizzazioni standard: lettura, scrittura ed esecuzione.

    Conclusione

    I permessi sono un concetto importante in Linux, anche se il tuo computer non ha più utenti. Comprendere l’autorizzazione è importante per garantire il controllo, la sicurezza e la privacy dei dati archiviati in un sistema Linux e delle sue funzionalità. Pertanto, valuta la possibilità di acquisire familiarità con le autorizzazioni mettendo in pratica ciò che hai imparato sulle autorizzazioni in questo articolo.

    Puoi anche esplorare come utilizzare i comandi Linux su Windows.