Knowledgebase Semplici istruzioni per lavorare con il servizio Profitserver
Principale Knowledgebase Utenti Linux: gestione e permessi

Utenti Linux: gestione e permessi


In questo articolo esploreremo l'importanza di utenti Linux adeguatamente organizzati. Descriveremo i diritti di accesso, iniziando con come creare e configurare gli utenti e terminando con come concedere l'accesso a file e cartelle specifici. Discuteremo anche di alcuni importanti strumenti di sicurezza, come sudo e SELinux, che aiutano a proteggere il sistema da attività indesiderate.

L'importanza della gestione degli utenti e dei diritti di accesso in Linux

Nel mondo Linux, la gestione degli utenti e i diritti di accesso giocano un ruolo fondamentale. Immaginate Linux come un grande appartamento in cui ogni utente è un inquilino e ogni file è una stanza. La gestione degli utenti è come assegnare a ciascun inquilino una chiave univoca, mentre i diritti di accesso definiscono ciò che può fare nella sua stanza.

Quando viene creato un utente, gli vengono assegnati un nome e un identificativo univoco ( UID ), come una chiave personale per l'appartamento. L'utente appartiene anche a un gruppo , che lo unisce agli altri inquilini. Il gruppo è come un club in cui i membri condividono privilegi comuni.

I diritti di accesso ai file sono suddivisi in tre categorie: proprietario ( utente ), gruppo e altri . Ogni chiave (utente) può avere diritti specifici di lettura, scrittura ed esecuzione per ciascuna categoria. Ad esempio, il proprietario del file può avere diritti di lettura e scrittura, il gruppo solo di lettura e gli altri nessun diritto.

Particolare attenzione meritano le politiche di sicurezza come sudo e SELinux , utilizzate nei sistemi Linux. Sudo è un comando speciale che consente agli utenti normali di utilizzare temporaneamente i diritti di superutente (root) per eseguire attività specifiche normalmente riservate agli amministratori. Questo aiuta a prevenire errori accidentali o abusi dei diritti di superutente. Quando si utilizza sudo , all'utente viene solitamente richiesto di inserire la propria password per confermare l'identità. Dopodiché, può eseguire comandi con i diritti di superutente (root) in conformità con le regole definite nel file sudoers.

SELinux è un ulteriore livello di sicurezza per il sistema operativo Linux. Monitora quali programmi e file possono essere utilizzati nel sistema e ne limita l'accesso per prevenire intrusioni e attacchi. Ciò rende il server più sicuro, impedendo tentativi di hacking o azioni dannose.

Creazione e gestione degli utenti

Come creare un utente in Linux

Gli utenti Linux vengono solitamente creati con il comando useradd . Ad esempio, per creare un utente di nome "username", si digita:

useradd username

Come impostare una password utente Linux

Dopo la creazione di un utente, il suo account non è protetto da password. Per impostare una password per un nuovo utente, utilizzare il comando passwd :

passwd username

Dove username è il nome dell'utente per il quale viene impostata la password.

Come visualizzare un elenco di utenti in Linux

Per visualizzare un elenco di utenti in Linux con un singolo comando nel terminale, è possibile utilizzare il comando cut :

cut -d: -f1 /etc/passwd

Questo comando legge il contenuto del file /etc/passwd , che contiene informazioni su tutti gli utenti.

Per ottenere informazioni su un utente specifico, puoi utilizzare il comando:

id username

Verranno visualizzati l' UID , il GID e i gruppi dell'utente.

Eliminazione di un utente Linux

Per eliminare un utente, utilizzare il comando userdel :

userdel username

Tuttavia, questo comando non elimina i file nella directory home dell'utente. Per rimuoverli, è possibile utilizzare l' opzione -r :

userdel -r username

Questa operazione eliminerà il nome utente dell'utente, insieme alla sua directory home e a tutti i file in essa contenuti.

Modifica di un utente Linux

Per modificare le informazioni relative a un utente, utilizzare il comando usermod . Lo strumento utilizza la seguente sintassi:

usermod argument user

Un elenco completo dei possibili argomenti è visualizzato nella guida dell'utilità:

Guida all'utilità di gestione degli utenti Linux

Ad esempio, per modificare la directory home di un utente, è possibile utilizzare il comando:

usermod -d /new/path/to/directory username

Creazione e gestione di gruppi di utenti in Linux

I gruppi di utenti in Linux consentono agli amministratori di raggruppare gli utenti con diritti di accesso simili. Ciò facilita la gestione dei diritti di accesso e migliora la sicurezza del sistema consentendo di impostare i diritti a livello di gruppo, anziché farlo per ogni utente individualmente. Come esempio, considereremo il gruppo sviluppatori con l'utente admin.

Come creare un gruppo di utenti in Linux

Per creare un nuovo gruppo, utilizzare il comando groupadd seguito dal nome del nuovo gruppo:

sudo groupadd group_name

Nel nostro esempio, il comando apparirebbe così:

sudo groupadd developers

Come eliminare un gruppo di utenti in Linux

Per eliminare un gruppo, utilizzare il comando groupdel :

sudo groupdel group_name

Quindi il comando:

sudo groupdel developers

Eliminerò il gruppo denominato developers.

Aggiunta di utenti a un gruppo

Per aggiungere un utente a un gruppo specifico, utilizzare il comando usermod :

sudo usermod -aG group_name user_name

Per esempio:

sudo usermod -aG developers admin

Questo comando aggiungerà l'utente denominato admin al gruppo degli sviluppatori.

Rimozione di utenti da un gruppo

Per rimuovere un utente da un gruppo, utilizzare il comando deluser :

sudo deluser user_name group_name

Il comando per rimuovere l'utente admin dal gruppo degli sviluppatori :

sudo deluser admin developers

Visualizzazione degli elenchi di gruppi in Linux

Per visualizzare un elenco di tutti i gruppi presenti nel sistema, utilizzare il comando cat con il file /etc/group :

cat /etc/group

Questo comando visualizzerà un elenco di tutti i gruppi presenti nel sistema.

Controllo dell'appartenenza al gruppo di utenti

Dopo aver eseguito le azioni, puoi verificare a quali gruppi appartiene un utente utilizzando il comando groups:

groups user_name

Abbiamo quindi esplorato le basi della gestione dei gruppi di utenti in Linux. Ora passiamo alla fase successiva: esaminare l'assegnazione dei diritti di accesso a file e directory. Questo processo consente di determinare quali azioni gli utenti o i gruppi possono eseguire in merito a file e directory specifici, garantendo un'efficace gestione della sicurezza e l'accesso alle risorse di sistema.

Assegnazione dei diritti di accesso a file e directory

Rappresentazione simbolica dei diritti di accesso

Come abbiamo già visto, in Linux esistono 3 categorie di utenti: proprietario ( utente ), gruppo e altri . Ognuna di esse può possedere determinati permessi di accesso a file o directory:

  1. Leggi (Read - r): consente di visualizzare il contenuto di un file o di una directory.
  2. Write (Write - w): Fornisce la possibilità di modificare un file o di crearne uno nuovo all'interno della directory. Per una directory, consente anche di eliminare file da essa.
  3. Esegui (Esegui - x): consente di eseguire il file (se è un file eseguibile) o di accedere alla directory (se è una directory).

Nei sistemi della famiglia Linux, i diritti di accesso sono rappresentati da una stringa di 10 caratteri. Il primo carattere indica il tipo di file (file normale, directory, ecc.), e i restanti nove sono tre gruppi di tre caratteri per ciascuno dei gruppi di utenti. Per capire, consideriamo un esempio.

I diritti di accesso -rwxr-xr-- significano:

  1. Il primo carattere (-) indica il tipo di file (in questo caso, un file normale).
  2. Tre caratteri per il proprietario (rwx) indicano che il proprietario ha diritti di lettura, scrittura ed esecuzione.
  3. Tre caratteri per il gruppo (rx) indicano che i membri del gruppo hanno solo diritti di lettura ed esecuzione.
  4. Tre caratteri per gli altri (r--) indicano che gli altri utenti possono solo leggere il file.

I permessi di accesso vengono impostati tramite il comando chmod , la cui sintassi è la seguente:

chmod [options] mode file(s)

Dove:

  1. [opzioni] - parametri aggiuntivi, come -R per modificare ricorsivamente i diritti di accesso in una directory e nelle sue sottodirectory.
  2. mode - una stringa speciale che specifica quali diritti di accesso vengono modificati e per chi. La modalità può essere specificata da simboli (r, w, x) e bit (0 o 1). Possono essere utilizzati anche valori numerici di mode (ne parleremo più avanti)
  3. file(s) - file o directory a cui vengono applicate le modifiche.

Questa utility è uno strumento piuttosto potente, quindi esamineremo solo alcuni comandi di base a titolo di esempio.

Modifica i diritti di accesso a un file in modo che il proprietario abbia diritti di lettura e scrittura, il gruppo abbia solo diritti di lettura e gli altri utenti non abbiano diritti:

chmod u=rw,g=r,o= filename

Imposta i diritti di accesso per tutti gli utenti per leggere e scrivere su un file:

chmod a+rw filename

Modificare ricorsivamente i diritti di accesso per tutti i file e le sottodirectory in una directory:

chmod -R u+rwx directory

Rappresentazione numerica dei diritti di accesso

Nella rappresentazione numerica, ogni categoria utente (proprietario, gruppo, altri) ha il suo numero, e la combinazione di questi numeri imposta i diritti di accesso finali. Similmente al simbolico, ognuno dei tre diritti ha il suo valore, ma in numerico:

  1. Leggi (read) - valore 4
  2. Scrivi (write) - valore 2
  3. Eseguire (eseguire) - valore 1

I valori numerici vengono utilizzati anche per determinare il tipo di utente:

  1. Proprietario del file (utente) - la prima cifra
  2. Gruppo del proprietario (gruppo) - la seconda cifra
  3. Altri utenti (altri) - la terza cifra

Pertanto, la rappresentazione numerica completa dei diritti di accesso ai file è composta da tre cifre, ciascuna delle quali rappresenta la somma dei valori dei diritti per una determinata categoria di utenti. Ciò è in un certo senso più comodo rispetto all'utilizzo di 10 caratteri nella rappresentazione simbolica. La gestione in questo caso apparirebbe come segue:

chmod XYZ file

dove X , Y e Z sono numeri che rappresentano rispettivamente i diritti di accesso per il proprietario, il gruppo e gli altri utenti.

Ad esempio, per concedere al proprietario diritti di accesso completi (lettura, scrittura ed esecuzione) e al gruppo e agli altri utenti solo diritti di lettura ed esecuzione, è possibile utilizzare il comando:

chmod 755 file

Consideriamo altri esempi:

chmod 700 file

Solo il proprietario ha diritti di lettura, scrittura ed esecuzione, mentre il gruppo e gli altri utenti non hanno diritti di accesso.

chmod 644 file

Il proprietario ha diritti di lettura e scrittura, mentre il gruppo e gli altri utenti hanno solo diritti di lettura.

chmod 751 file

Il proprietario ha pieni diritti, il gruppo ha diritti di lettura ed esecuzione e gli altri utenti hanno solo diritti di esecuzione.

Come abbiamo detto prima, lo strumento ha funzionalità molto estese. In alcuni casi, le opzioni disponibili nella sezione "help" non sono sufficienti:

Strumento per la gestione dei diritti di accesso in Linux

Presta attenzione all'ultima riga. L'utilizzo di questo comando apre una documentazione più dettagliata sullo strumento. Puoi anche visitare la pagina ufficiale di Wikipedia dedicata all'utility , dove troverai informazioni dettagliate su Chmod.

Conclusione

Gli utenti Linux e la loro gestione sono di fondamentale importanza per la sicurezza e il funzionamento stabile del sistema operativo. In questo articolo, abbiamo evidenziato l'importanza di una gestione efficace degli utenti e dei diritti di accesso in Linux, coprendo la creazione e la gestione degli utenti, il lavoro con i gruppi di utenti e l'assegnazione dei diritti di accesso a file e directory.

❮ Articolo precedente Configurazione del firewall su Linux
Articolo successivo ❯ Editor di testo Linux

Chiedici informazioni su VPS

Siamo sempre pronti a rispondere alle vostre domande a qualsiasi ora del giorno e della notte.