Tutorial > Come gestire utenti e permessi su Linux Ubuntu

Come gestire utenti e permessi su Linux Ubuntu

Pubblicato il: 15 aprile 2020

Sicurezza Ubuntu

Introduzione

Nel momento in cui si effettua la prima installazione del proprio Cloud Server basato su Linux, viene creato automaticamente un utente ‘root’ che possiede i privilegi di amministratore, ovvero ha il pieno controllo sulle risorse e i comandi eseguibili sulla macchina. 

Spesso può capitare di dover permettere l’accesso al server anche ad altri collaboratori. Naturalmente fornire a tutti gli utenti che devono accedere le credenziali di login dell'utente root può essere estremamente rischioso in quanto potrebbero apportare modifiche indesiderate al server o, nel peggiore dei casi, comportare un malfunzionamento complessivo del sistema. 

Per questo motivo è fondamentale conoscere come gestire gli utenti e assegnargli diversi livelli di permessi. In questo tutorial imparerai come aggiungere nuovi utenti, eliminare gli utenti di sistema e assegnare loro privilegi di amministrazione, utilizzando un server Ubuntu 18.04.

Per iniziare dovrai connetterti al tuo server tramite una connessione SSH. Se non l’hai ancora fatto, ti consigliamo di seguire la nostra guida per connetterti in sicurezza con il protocollo SSH. In caso di server locale puoi passare al punto successivo e aprire il terminale del tuo server.

Creazione di un nuovo utente

Prima di poter aggiungere un nuovo utente al sistema bisogna definire il tipo di gruppo al quale egli dovrà appartenere. Un Gruppo ha lo scopo di raccogliere tutti gli utenti che hanno gli stessi privilegi.

Ciascun utente può appartenere a un solo gruppo Primario, che viene generato automaticamente alla creazione dell’utente, e i file creati da questo utente saranno assegnati al rispettivo gruppo primario. Opzionalmente un utente può appartenere anche a uno o più gruppi Secondari per definire ulteriori privilegi in suo possesso.

Ipotizzando che tu voglia creare un nuovo utente, come puoi ben immaginare dovrai creare prima il gruppo e successivamente aggiungere gli utenti.

Per creare il gruppo di cui farà parte il futuro utente digita:

 sudo addgroup my_group

N.B. sostituisci ‘my_group’ con il nome che vuoi attribuire al gruppo.

Puoi creare quindi un nuovo utente e garantirgli accesso al server digitando:

 adduser first_user

N.B. Sostituisci ‘first_user’ con il nome dell’utente che preferisci.

E’ possibile aggiungere l'utente a uno o più gruppi mediante il comando:

sudo usermod -a -G group1,group2 first_user 

N.B. Sostituisci chiaramente "group1,group2" con i nomi dei gruppi ai quali aggiungere l’utente e ‘first_user’ con il nome dell’utente da aggiungere.

Ti sarà chiesto di specificare con quale password l’utente debba effettuare il login al server. Inoltre ti verranno chieste altre informazioni opzionali: se non vuoi inserirle, premi semplicemente invio a ogni voce. Al termine si presenterà un riepilogo al quale dovrai rispondere con Y per accettare, N per rifiutare.

Nella seguente schermata vengono mostrate le istruzioni necessarie su Ubuntu per la creazione del nuovo gruppo "my_group", la successiva creazione degli utenti "first_user" e "second_user", e infine l'aggiunta dei due nuovi utenti al gruppo "my_group":

Creazione utenti e assegnazione a un gruppo su Ubuntu

Verifica dell'utente creato

Per verificare la corretta creazione dell’utente, chiudi la connessione SSH e prova a connetterti nuovamente al tuo server con il nuovo utente creato, nel nostro esempio ‘first_user’. Noterai infatti che il nome dell’utente (evidenziato in verde nella schermata successiva) è esattamente quello dell’account creato in precedenza.

Questo nuovo utente così creato non ha accesso ai privilegi di root. Basta avviare qualsiasi comando con ‘sudo’ per ottenere il relativo messaggio di errore:

Errore permessi utente

Per visualizzare gli utenti associati al gruppo creato puoi utilizzare il comando "getent group", aggiungendo il comando "grep" per limitare i risultati da mostrare solamente a quelli in cui compare il nome del gruppo da verificare. Digita quindi:

getent group | grep mygroup 

Allo stesso modo, per vedere a quali gruppi risulta associato il nuovo utente ti basta invece digitare:

getent group | grep first_user 

N.B. Sostituisci ‘mygroup’ e ‘first_user’ rispettivamente con i nomi del gruppo e dell’utente da ricercare.

Nella seguente schermata viene mostrato l'output dei due comandi, che presenta la sintassi "group:password:GID:users" i cui campi corrispondono rispettivamente al nome del gruppo, la sua password (in questo caso è indicato "x" perchè la password è contenuta nel file /etc/gshadow), il Group ID e la lista di utenti che fanno parte del gruppo.

Ricerca Gruppi e utenti

Assegnazione dei privilegi di amministratore

Per consentire all’utente precedentemente creato i diritti di root, ovvero i privilegi di amministratore, devi effettuare nuovamente il login al server con l'utente root e aggiungere l’account "first_user" al gruppo “sudo”.

Una volta effettuato quindi il login come root (o utente abilitato al comando sudo) digita:

 sudo usermod -aG sudo first_user

N.B. Sostituisci "first_user" con il nome utente impostato in precedenza.

Da questo momento, anche effettuando il login al server con il nuovo utente sarà consentito accedere al comando ‘sudo’ ed eseguire le istruzioni come amministratore, come mostrato nella seguente schermata:

Verifica dei permessi

Cancellazione di un utente

Naturalmente così come sono stati creati, gli utenti possono anche essere cancellati.

L’eliminazione di un utente può essere effettuata solo da un altro utente che possiede i privilegi di amministratore. L’eliminazione si effettua con il seguente comando:

sudo deluser --remove-home first_user  

N.B. Sostituisci "first_user" con il nome dell'utente che vuoi eliminare.

Presta attenzione: in questa maniera anche la cartella /home in cui possono risiedere i file di questo utente verrà cancellata, così come il suo gruppo primario. L’utente verrà inoltre eliminato automaticamente da tutti i gruppi secondari ai quali era associato.

Nell'esempio mostrato nella seguente schermata gli utenti "first_user" e "second_user", creati in precedenza, vengono ora cancellati.

Rimozione Utente

Conclusione

L’aggiunta e la rimozione di gruppi e utenti al proprio Cloud Server con Linux Ubuntu è un’operazione molto semplice, ma anche potenzialmente pericolosa.

É importante pertanto tenere sempre bene a mente che tipo di utente stai creando e prestare attenzione a chi hai intenzione di assegnare i privilegi di amministratore.