Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Gestione degli Utenti

Impariamo a gestire gli utenti di un sistema operativo Linux, installato su una macchina virtuale creata mediante Aruba Cloud.
Impariamo a gestire gli utenti di un sistema operativo Linux, installato su una macchina virtuale creata mediante Aruba Cloud.
Link copiato negli appunti

Per i nostri scopi, adotteremo come sistema operativo una distribuzione Linux fra le più diffuse, nello specifico Ubuntu, ma le istruzioni che andremo a presentare nelle prossime lezioni hanno valore esemplificativo e sono valide in generale a prescindere da piccole differenze fra distribuzioni. Sfrutteremo, inoltre, l’interfaccia a riga di comando del terminale, che è disponibile per tutte le distribuzioni ed è comodamente utilizzabile via ssh.

Andiamo quindi, a presentare alcune conoscenze di base che saranno utili in qualsiasi contesto. Quale prerequisito, sarà utile aggiornare il sistema operativo secondo le più comuni procedure ampiamente documentate online.

Utenti

Linux è un sistema operativo multiutente, ed è per questo che occorre adottare strategie per disciplinare le azioni che possono essere effettuate o meno dai singoli utenti. Occorrerà altresì inibire a determinati utenti la possibilità di accedere a specifici contenuti ospitati nel filesystem.

L’utente principale per l'amministrazione del sistema è root. Nessuna azione gli è preclusa, anche la più distruttiva, ed occorrerà prestare particolare attenzione nell’adoperarlo.

Esistono svariate tecnologie per gestire gli utenti, la più comune sfrutta il filesystem locale,
memorizzando le principali informazioni nei tre file seguenti:

File Descrizione
/etc/passwd Ospita informazioni per gestire i singoli utenti dal punto di vista del Sistema Operativo.
/etc/shadow Contiene le password criptate che possono adoperare gli utenti per presentarsi al Sistema Operativo.
/etc/group Raggruppa gli utenti in insiemi di utenti.

Questi file sono “testuali”, ma realizzati sfruttando una struttura tabellare in cui ogni riga è una entità e le posizioni in colonna rappresentano, in relazione a quella entità, un determinato valore assegnato a uno specifico attributo. Per approfondire questo aspetto, rimandiamo a questa lezione su HMTL.it.

I comandi più comuni adoperati per gestire la creazione di utenti sono riportati nella tabella seguente.

Comando Descrizione
useradd Consente di aggiungere un utente, l’argomento principale è il nome utente. I flag maggiormente adoperati sono -d per specificare la directory home, -g e -G rispettivamente per il gruppo primario e secondario.
userdel Elimina l’utente passato al comando come argomento.
groupadd Crea il gruppo passato al comando come argomento.
groupdel Elimina il gruppo passato al comando come argomento.
passwd Assegna una password all’utente passato come argomento.

Di seguito riportiamo un esempio di esecuzione dei comandi precedenti:

root@t1:~# groupadd localusers
root@t1:~# useradd test1 -d /home/test1 -g users -G localusers
root@t1:~# useradd test2 -d /home/test2 -g users -G localusers
root@t1:~# passwd test1
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
root@t1:~# passwd test2
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
root@t1:~# tail -n 1 /etc/group
localusers:x:1000:test1,test2
root@t1:~# tail -n 2 /etc/passwd
test1:x:1000:100::/home/test1:/bin/sh
test2:x:1001:100::/home/test2:/bin/sh

In questo esempio, abbiamo creato, quale prima azione, il gruppo localusers, quindi abbiamo intrapreso la stessa azione per due utenti assegnandoli entrambi, come gruppo primario, a users e come gruppo secondario a localusers. Abbiamo, inoltre, provveduto ad assegnare ai due utenti in questione una password attraverso l’omonimo comando.

Ulteriori informazioni su questi argomenti sono disponibili su HTML.it, in una lezione di approfondimento dedicata all’argomento.

Sudo

Il comando sudo consente di eseguire un processo lanciato da un utente con i privilegi di un altro utente (con tutte le implicazioni di sicurezza che ciò comporta).

Le configurazioni del comando sudo sono registrate in /etc/sudousers e sono modificabili su Ubuntu tramite il comando visudo:

root@t1:~# tail -n 3 /etc/sudoers
User_Alias ADMINS = test1, test2
Cmnd_Alias STOP = /sbin/reboot, /sbin/shutdown
ADMINS ALL = STOP
root@t1:~# su test1
$ sudo -l
Matching Defaults entries for test1 on t1:
    env_reset, mail_badpass,
    secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin
User test1 may run the following commands on t1:
    (root) /sbin/reboot, /sbin/shutdown
$ sudo reboot
Connection to 94.177.188.152 closed by remote host.
Connection to 94.177.188.152 closed.
fprincipe@DC:~$ ssh root@94.177.188.152 -X
root@94.177.188.152's password:

Nell’esempio qui riportato abbiamo definito alcuni alias che consento di assegnare ai due utenti raggruppati in ADMINS la possibilità di eseguire i comandi reboot e shutdown.

Il comando sudo è quindi molto semplice e, al tempo stesso, estremamente potente. Una volta configurato sudo come nell’esempio, da entrambi gli utenti potremo ad esempio lanciare il comando shutdown semplificante passandolo come argomento a sudo.

Di seguito riportiamo le principali opzioni (o flag) di sudo che vanno a estenderne il funzionamento.

Flag Descrizione
-b Per eseguire il comando in background.
-i Apre una console per l’utente passato in argomento.
-l Riporta a video la lista dei comandi che risultano autorizzati.
-u Specifica come argomento l’utente che dovrà essere assegnato al processo.
-H La home directory sarà quella dell’utente di esecuzione del processo.

Ti consigliamo anche