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 svolgono un ruolo chiave. Immagina Linux come un grande appartamento in cui ogni utente è un inquilino e ogni file è una stanza. Gestione degli utenti è come assegnare a ogni inquilino la propria chiave univoca, mentre diritti di accesso sono ciò che possono fare nella loro stanza.
Quando un utente viene creato, gli viene assegnato un nome e un identificatore univoco (UID), come una chiave personale dell'appartamento. L'utente ha anche a di gruppo, unendoli ad altri inquilini. Il gruppo è come un club in cui i membri condividono privilegi comuni.
Diritti di accesso ai file si dividono in tre categorie: proprietario (Utente), di gruppoe altri. Ogni chiave (utente) può avere i suoi diritti univoci di lettura, scrittura ed esecuzione per ogni categoria. Ad esempio, il proprietario del file può avere diritti di lettura e scrittura, il gruppo - solo lettura e gli altri - niente.
Un'attenzione particolare meritano le politiche di sicurezza come sudo e SELinux, utilizzato nei sistemi Linux. sudo è un comando speciale che consente agli utenti normali di usare temporaneamente i diritti di superutente (root) per eseguire attività specifiche che normalmente sono disponibili solo agli amministratori. Ciò aiuta a prevenire errori accidentali o l'uso improprio dei diritti di superutente. Quando si usa sudo, all'utente viene solitamente richiesto di immettere la propria password per confermare la propria identità. Dopodiché, può eseguire comandi con diritti di superutente (root) in conformità con le regole stabilite nel maglioni file.
SELinux è un ulteriore livello di sicurezza per il sistema operativo Linux. Monitora quali programmi e file possono essere utilizzati nel sistema e limita l'accesso a essi 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 useradd comando. Ad esempio, per creare un utente denominato "username", dovresti digitare:
useradd username
Come impostare una password utente Linux
Dopo aver creato un utente, il suo account non è protetto da una password. Per impostare una password per un nuovo utente, utilizzare passwd comando:
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 taglio comando:
cut -d: -f1 /etc/passwd
Questo comando legge il contenuto del /etc/passwd file che contiene informazioni su tutti gli utenti.
Per ottenere informazioni su un utente specifico, puoi utilizzare il comando:
id username
Questo visualizzerà l'utente UID, GIDe Gruppi.
Eliminazione di un utente Linux
Per eliminare un utente, utilizzare utentedel comando:
userdel username
Tuttavia, questo comando non elimina i file nella directory home dell'utente. Per rimuoverli, puoi usare il comando -r opzione:
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 su un utente, utilizzare usermod comando. Lo strumento utilizza la sintassi:
usermod argument user
Un elenco completo dei possibili argomenti è visualizzato nella guida dell'utilità:
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 gruppoaggiungi comando con il 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 gruppodel comando:
sudo groupdel group_name
Quindi il comando:
sudo groupdel developers
Eliminerà il gruppo denominato sviluppatori.
Aggiunta di utenti a un gruppo
Per aggiungere un utente a un gruppo specifico, utilizzare usermod comando:
sudo usermod -aG group_name user_name
Per esempio:
sudo usermod -aG developers admin
Questo comando aggiungerà l'utente denominato Admin ai sviluppatori gruppo.
Rimozione di utenti da un gruppo
Per rimuovere un utente da un gruppo, utilizzare deluser comando:
sudo deluser user_name group_name
Il comando per rimuovere l'utente Admin dal sviluppatori gruppo:
sudo deluser admin developers
Visualizzazione degli elenchi di gruppi in Linux
Per visualizzare un elenco di tutti i gruppi nel sistema, utilizzare gatto comando con il /etc/group file:
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à scoperto, ci sono 3 categorie di utenti in Linux: proprietario (Utente), di gruppoe altri. Ognuno di essi può possedere determinati gruppi di accesso a file o directory:
- Leggi (Read - r): consente di visualizzare il contenuto di un file o di una directory.
- 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.
- 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.
Diritti di accesso -rwxr-xr-- significare:
- Il primo carattere (-) indica il tipo di file (in questo caso, un file normale).
- Tre caratteri per il proprietario (rwx) indicano che il proprietario ha diritti di lettura, scrittura ed esecuzione.
- Tre caratteri per il gruppo (rx) indicano che i membri del gruppo hanno solo diritti di lettura ed esecuzione.
- Tre caratteri per gli altri (r--) indicano che gli altri utenti possono solo leggere il file.
I diritti di accesso vengono impostati utilizzando chmod comando e la sintassi è la seguente:
chmod [options] mode file(s)
Dove:
- [opzioni] - parametri aggiuntivi, come -R per modificare ricorsivamente i diritti di accesso in una directory e nelle sue sottodirectory.
- 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)
- 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:
- Leggi (read) - valore 4
- Scrivi (write) - valore 2
- Eseguire (eseguire) - valore 1
I valori numerici vengono utilizzati anche per determinare il tipo di utente:
- Proprietario del file (utente) - la prima cifra
- Gruppo del proprietario (gruppo) - la seconda cifra
- 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
where X, Ye Z sono numeri che rappresentano i diritti di accesso rispettivamente 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:
Prestate attenzione all'ultima riga. Utilizzando questo comando si apre una documentazione più dettagliata sullo strumento. Potete anche visitare il sito dell'utilità Wikipedia ufficiale pagina, dove puoi trovare 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.