Come gestire gli utenti dalla riga di comando in Linux

Una delle responsabilità principali dell’amministrazione di Linux è la gestione degli utenti. Tramite l’uso della riga di comando, la creazione degli utenti può essere completata da remoto o in modo programmatico. Una volta creato un utente, puoi poi aggiungerlo ai gruppi o dargli privilegi elevati. Inoltre, puoi mantenere un registro di audit su ciò che è stato fatto sul tuo server e su eventuali problemi potenziali.

Se hai sviluppato software o programmato per il Web, potresti essere familiare con la politica di non fidarsi mai degli utenti. Questo stesso presupposto si applica anche ad altre aree dell’uso del computer riguardo al coinvolgimento degli utenti. Concedi accesso solo a coloro che ne hanno bisogno e quando ne hanno bisogno. Una delega generosa di privilegi potrebbe consentire l’accesso non specificato e non autorizzato alle informazioni e ai dati principali degli altri.

Visualizzare gli utenti esistenti

Uno dei modi più rapidi per visualizzare gli utenti è utilizzare i comandi cat (concatenare) o more (pager) per visualizzare l’elenco degli utenti sul sistema. Il file che devi visualizzare è il file “/etc/passwd”. Questo file memorizza tutti gli account utente e le informazioni di accesso degli utenti.

sudo cat /etc/passwd

Utilizzare il comando useradd

useradd è un comando binario a basso livello disponibile nella maggior parte delle distribuzioni. Questo comando è tipicamente meno usato a causa della sua minore facilità d’uso e intuitività rispetto al comando adduser. Tuttavia, ci sono molto poche differenze e entrambi possono essere utilizzati.

Per saperne di più su useradd, esegui il comando man o aggiungi --help per ottenere una panoramica rapida.

man useradd
useradd --help

linux-useradd-help

Per aggiungere un utente utilizzando useradd, digita useradd e il nome del login che desideri creare.

sudo useradd --create-home testuser

Nel caso sopra, verrà creato l’utente “testuser”. Per impostazione predefinita, questo comando creerà solo l’utente e nient’altro. Se hai bisogno di una directory home per questo utente, aggiungi il flag --create-home per creare la directory home per l’utente.

Utilizzare il comando adduser

Il comando adduser è uno script perl che creerà l’utente in modo simile al comando useradd. Ciò che lo rende diverso è che è un comando interattivo e ti chiederà di impostare la password, il percorso della directory home, ecc. Tieni presente che su alcune distribuzioni, come Red Hat e CentOS, adduser è un link simbolico a useradd, e su altre distribuzioni come Arch Linux, adduser arriva come pacchetto che non è installato per impostazione predefinita.

Utilizzare questo comando creerà un gruppo per l’utente utilizzando il login dell’utente per impostazione predefinita. Altre impostazioni predefinite possono generalmente essere trovate nel file useradd in “/etc/default”.

In questo file puoi modificare le impostazioni predefinite per gli utenti creati con useradd, come la shell e la directory home.

linux-useradd-conf

Esegui il comando adduser simile al seguente:

sudo adduser testuser

linux-adduser

Questo ti chiederà quindi riguardo alle impostazioni predefinite che desideri impostare e ti chiederà la password.

Leggi anche: Come gestire la password dell’utente dal terminale in Linux

Password e sicurezza

Aggiungere una password per un utente richiederà l’esecuzione del comando passwd.

sudo passwd testuser

Senza privilegi di superuser, l’esecuzione di passwd cambierà solo la password dell’utente connesso. Questo comando testerà la complessità della password. Su Ubuntu i requisiti della password sono impostati nel file common-password situato in “/ec/pam.d.” Maggiori informazioni riguardo l’aggiornamento della complessità possono essere trovate nella pagina man per pam-auth-update.

linux-pam-auth-man

Aggiornare le informazioni dell’utente

Una volta che un utente è nel sistema, puoi esaminare il file “/etc/passwd” per vedere le informazioni dell’utente e la password crittografata. Se hai bisogno di apportare modifiche a un utente, dovrai utilizzare il comando usermod.

linux-usermod-man

Ad esempio, per cambiare l’ID utente per l’account testuser4 creato sopra, dovresti eseguire il comando:

sudo usermod -u 2022 testuser2

Puoi quindi esaminare le modifiche nel file “/etc/passwd”.

Fai attenzione a modificare informazioni critiche come il nome di accesso o, come in questo caso, l’ID utente. Consulta la pagina man per usermod per vedere cosa devi fare se quegli elementi vengono cambiati.

Aggiungere utenti a un gruppo

Ci sono volte in cui devi aggiungere utenti a un gruppo affinché abbiano i permessi necessari per eseguire determinate attività.

Per aggiungere un utente a un gruppo:

sudo usermod -a -G groupname username

Nota che il flag -a è necessario per “aggiungere” il gruppo per l’utente. Se non lo fai, rischi di rimuovere l’utente dal gruppo “sudo” se l’utente deve avere privilegi di superuser.

In alternativa, puoi utilizzare il comando gpasswd per aggiungere/rimuovere un utente da/un gruppo.

sudo gpasswd -a username groupname

Per rimuovere un utente da un gruppo:

sudo gpasswd -d username groupname

Rimuovere utenti

Simile agli altri comandi per gli utenti, eliminare un utente è preceduto da “user” e l’azione. In questo caso dovrai utilizzare il comando userdel.

linux-userdel-man

Nota che userdel non rimuoverà un utente se ci sono processi che utilizzano l’account di quell’utente.

sudo userdel testuser4

Visualizzare i log degli utenti

A seconda della tua distribuzione, dovrai controllare il log auth o il log secure situato in “/var/log” per esaminare i log degli accessi degli utenti. Questo file di log ti darà gli accessi sul tuo sistema non appena accadono. Questo è un elemento critico per monitorare eventi nel caso di una violazione e solo per assicurarti che tutto funzioni come desiderato.

sudo tail /var/log/auth.log

La gestione degli utenti è una parte cruciale della gestione dei server Linux se ci sono più di una persona che utilizzerà il tuo sistema. Utilizzare la riga di comando ti consentirà di amministrare rapidamente gli utenti, oltre ad avere una cronologia della creazione e delle modifiche degli account. Forse uno dei migliori usi sarebbe automatizzare la creazione con uno script shell se sono necessari più account contemporaneamente.

In ogni caso, assicurati di controllare regolarmente i tuoi account e rimuovere quelli che non sono più necessari. Assicurati che l’accesso venga concesso solo a coloro che attualmente ne hanno bisogno e monitora frequentemente i tuoi log.