.## 1. Introduzione
Ubuntu è una distribuzione Linux molto diffusa, utilizzata da numerosi utenti, da ambienti personali a sistemi server aziendali. Quando si gestisce un sistema Ubuntu, l’amministrazione degli account utente è fondamentale. In particolare, esaminare l’elenco degli utenti registrati aiuta nella gestione della sicurezza e nell’organizzazione degli account.
Questo articolo spiega come elencare gli utenti su Ubuntu. Copre tutto, dai comandi di base ai metodi per recuperare informazioni dettagliate, risultando utile sia per i principianti sia per gli amministratori esperti.
- 1 2. Come controllare l’elenco degli utenti in Ubuntu
- 2 3. Come controllare gli utenti attualmente connessi
- 3 4. Come controllare informazioni dettagliate sull’utente
- 4 5. Gestire gli utenti in Ubuntu (Aggiungere, Eliminare, Modificare)
- 5 6. Scenari pratici per la gestione degli utenti
- 6 7. FAQ
- 6.1 7.1 Posso modificare /etc/passwd direttamente?
- 6.2 7.2 Differenza Tra i Comandi who e users
- 6.3 7.3 Come Controllare la Storia dei Login per un Utente Specifico
- 6.4 7.4 Come Cambiare la Password di un Utente
- 6.5 7.5 Come Disabilitare Temporaneamente un Utente
- 6.6 7.6 Aggiungi un Utente al Gruppo sudo
- 6.7 7.7 Cambia la Directory Home di un Utente
- 6.8 7.8 Rimuovi Completamente un Utente e i Suoi Dati
- 6.9 7.9 Controlla l’Attività Dettagliata degli Utenti Loggati
2. Come controllare l’elenco degli utenti in Ubuntu
In Ubuntu, le informazioni sugli utenti possono essere recuperate facilmente usando file e comandi specifici. I metodi seguenti consentono di verificare l’elenco degli utenti.
2.1 Visualizzare l’elenco degli utenti usando /etc/passwd
In Ubuntu, tutte le informazioni sugli utenti sono memorizzate nel file /etc/passwd. Visualizzare questo file permette di verificare tutti gli utenti registrati.
Esempio di comando
cat /etc/passwd
L’esecuzione di questo comando visualizza le informazioni nel seguente formato:
root:x:0:0:root:/root:/bin/bash
user1:x:1000:1000:User One,,,:/home/user1:/bin/bash
user2:x:1001:1001:User Two,,,:/home/user2:/bin/bash
Ogni riga è composta da campi separati da due punti (:) contenenti le seguenti informazioni:
- Nome utente
- Password (ora rappresentata come x)
- ID utente (UID)
- ID gruppo (GID)
- Informazioni sull’utente (campo commento)
- Directory home
- Shell di login predefinita
Poiché questo file include anche gli utenti di sistema, è possibile estrarre solo gli utenti di login regolari usando i metodi descritti di seguito.
2.2 Elencare solo i nomi utente
Per elencare solo i nomi utente, usa il comando seguente:
cut -d: -f1 /etc/passwd
In alternativa, è possibile utilizzare il comando awk:
awk -F':' '{ print $1 }' /etc/passwd
Esempio di output:
root
user1
user2
2.3 Ricerca di un utente specifico
Per verificare se un utente specifico esiste, usa il comando grep:
grep 'user1' /etc/passwd
Questo comando visualizza solo la voce relativa a user1.
2.4 Elencare i gruppi tramite /etc/group
Per verificare i gruppi a cui appartiene un utente, fai riferimento al file /etc/group:
cat /etc/group | cut -d: -f1
Per elencare i gruppi a cui appartiene un utente specifico, usa:
groups user1
Esempio di output:
user1 : user1 sudo
Ciò indica che user1 è anche membro del gruppo sudo.
3. Come controllare gli utenti attualmente connessi
Ubuntu fornisce diversi comandi per verificare quali utenti sono attualmente connessi. Questi comandi aiutano a recuperare informazioni su sessioni e login.
3.1 Verifica degli utenti connessi usando who
Il comando who elenca tutti gli utenti attualmente connessi.
Esempio di comando
who
Esempio di output
user1 tty1 2025-02-16 10:05
user2 pts/0 2025-02-16 11:30
Spiegazione dei campi
- Nome utente (utente connesso)
- Nome del terminale (es.
tty1per locale,pts/0per SSH) - Ora di login
Il comando who è semplice e utile quando si desidera controllare rapidamente lo stato di login.
3.2 Verifica delle informazioni dettagliate usando w
Il comando w fornisce informazioni più dettagliate rispetto a who.
Esempio di comando
w
Esempio di output
11:35:25 up 2:15, 2 users, load average: 0.03, 0.02, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
user1 tty1 10:05 1:30m 0.10s 0.10s -bash
user2 pts/0 192.168.1.10 11:30 0.00s 0.05s 0.02s sshd
Spiegazione dei campi
- Uptime del sistema
- Numero di utenti connessi
- Media del carico CPU
- Nome utente
- Terminale
- Host remoto
- Ora di login
- Tempo di inattività
- Utilizzo CPU
- Processo in esecuzione
L’indirizzo IP nel campo FROM aiuta a verificare i login SSH remoti, risultando utile per il monitoraggio e la gestione della sicurezza.
3.3 Visualizzare gli utenti connessi usando users
Se desideri un elenco semplificato che mostri solo i nomi utente degli utenti connessi, il comando users è utile.
Esempio di comando
users
Esempio di output
user1 user2
Questo comando è una versione semplificata di who e mostra solo i nomi utente degli utenti connessi.
3.4 Identifica l’utente corrente con whoami
Per verificare quale utente sta eseguendo la sessione corrente, usa il comando whoami.
Esempio di comando
whoami
Esempio di output
user1
Questo comando visualizza semplicemente il nome utente dell’utente della sessione corrente, risultando utile per verificare il contesto di esecuzione.
3.5 Controlla la cronologia di accesso usando last
Il comando last ti consente di esaminare la cronologia di accesso degli utenti.
Esempio di comando
last
Esempio di output
user1 pts/0 192.168.1.10 Mon Feb 15 10:20 still logged in
user2 tty1 Mon Feb 15 09:30 - 10:00 (00:30)
root tty1 Sun Feb 14 22:15 - 23:45 (01:30)
- Nome utente
- Terminale usato
- Indirizzo IP remoto
- Ora di inizio accesso
- Ora di disconnessione (o ancora connesso)
- Durata totale della sessione
Questo comando aiuta gli amministratori a monitorare gli accessi precedenti e a rilevare accessi sospetti.
4. Come controllare informazioni dettagliate sull’utente
Ubuntu fornisce diversi comandi per recuperare informazioni dettagliate sugli utenti registrati. Esaminare dettagli come UID, appartenenza ai gruppi e shell di login aiuta gli amministratori a gestire i permessi con precisione. Questa sezione spiega i metodi usando id, groups, finger e chage.
4.1 Controlla UID, GID e gruppi usando id
Il comando id visualizza UID (User ID), GID (Group ID) e l’appartenenza ai gruppi dell’utente.
Esempio di comando
id user1
Esempio di output
uid=1001(user1) gid=1001(user1) groups=1001(user1),27(sudo),1002(docker)
uid→ Identificatore utentegid→ Identificatore del gruppo primariogroups→ Tutti i gruppi a cui l’utente appartiene
Controlla le informazioni dell’utente corrente
id
4.2 Controlla l’appartenenza ai gruppi tramite groups
Il comando groups elenca rapidamente i gruppi a cui un utente appartiene.
Esempio di comando
groups user1
Esempio di output
user1 : user1 sudo docker
groups è utile quando vuoi vedere solo i nomi dei gruppi senza ID dettagliati.
4.3 Recupera i dettagli dell’utente usando finger
Il comando finger fornisce informazioni dettagliate sull’utente, come nome completo, directory di login e tipo di shell.
Comando di installazione
sudo apt install finger
Esempio di comando
finger user1
Esempio di output
Login: user1 Name: User One
Directory: /home/user1 Shell: /bin/bash
Last login: Mon Feb 16 10:20 (UTC) on pts/0
- Login → Nome utente
- Nome → Nome completo (opzionale)
- Directory → Directory home
- Shell → Shell predefinita
- Ultimo login → Ora dell’ultimo login

4.4 Controlla la scadenza della password con chage
Il comando chage consente agli amministratori di esaminare il periodo di scadenza della password e l’ultimo cambiamento della password.
Esempio di comando
sudo chage -l user1
Esempio di output
Last password change : Jan 15, 2025
Password expires : Mar 15, 2025
Password inactive : never
Account expires : never
Minimum number of days between password change : 7
Maximum number of days between password change : 60
Number of days of warning before password expires : 5
- Ultimo cambio password → Data dell’ultimo cambio della password
- Password scade → Data di scadenza della password
- Password inattiva → Durata di inattività prima che la password diventi invalida
- Account scade → Data di scadenza dell’account
- Numero minimo di giorni tra i cambi di password
- Numero massimo di giorni tra i cambi di password
- Giorni di avviso prima della scadenza della password
Gli amministratori possono utilizzare queste informazioni per applicare le politiche password e migliorare la sicurezza del sistema.
5. Gestire gli utenti in Ubuntu (Aggiungere, Eliminare, Modificare)
Una corretta gestione degli utenti migliora la stabilità e la sicurezza del sistema. Ubuntu fornisce diversi comandi amministrativi come adduser, deluser e usermod. Questa sezione spiega come aggiungere, rimuovere e modificare gli utenti.
5.1 Aggiungere utenti
Ubuntu consente di aggiungere nuovi utenti usando i comandi adduser o useradd.
5.1.1 Comando adduser (Consigliato)
Il comando adduser fornisce un modo interattivo per aggiungere utenti.
sudo adduser newuser
Esempio di prompt interattivo:
Adding user `newuser' ...
Adding new group `newuser' (1002) ...
Adding new user `newuser' (1002) with group `newuser' ...
Creating home directory `/home/newuser' ...
Copying files from `/etc/skel' ...
Enter new UNIX password: ********
Retype new UNIX password: ********
passwd: password updated successfully
Changing the user information for newuser
Enter the new value, or press ENTER for the default
Full Name []:
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Is the information correct? [Y/n]
- Account utente
- Gruppo dedicato
- Directory home (
/home/newuser) - Password per l’accesso
- Informazioni di base sull’account
5.1.2 Comando useradd (Avanzato)
Il comando useradd è adatto agli script e offre un controllo più fine, ma non configura tutto automaticamente.
sudo useradd -m -s /bin/bash newuser
sudo passwd newuser
-m→ Crea directory home-s /bin/bash→ Imposta la shell di login
Una password deve essere impostata separatamente quando si utilizza questo comando.
5.2 Eliminare utenti
È possibile rimuovere gli utenti usando deluser o userdel.
5.2.1 Comando deluser (Consigliato)
Il comando deluser rimuove un account utente.
sudo deluser newuser
Rimuovi anche la directory home
sudo deluser --remove-home newuser
Questo elimina l’account e la directory /home/newuser.
5.2.2 Comando userdel (Avanzato)
Il comando userdel offre più controllo.
sudo userdel newuser
sudo userdel -r newuser
5.3 Modificare utenti esistenti
Usa il comando usermod per modificare le informazioni degli utenti esistenti.
5.3.1 Cambiare nome utente
sudo usermod -l newname oldname
5.3.2 Cambiare directory home
sudo usermod -d /new/home/path user1
sudo usermod -d /home/newuser -m user1
5.3.3 Modificare l’appartenenza ai gruppi
sudo usermod -aG sudo user1
groups user1
5.3.4 Cambiare password
sudo passwd user1
Enter new UNIX password: ********
Retype new UNIX password: ********
passwd: password updated successfully
6. Scenari pratici per la gestione degli utenti
La gestione degli utenti in Ubuntu va oltre l’elencare e modificare gli account. Comprendere come applicare i comandi in scenari reali è essenziale per mantenere un ambiente sicuro ed efficiente. Questa sezione presenta casi d’uso comuni e come affrontarli.
6.1 Ricerca di utenti che corrispondono a criteri specifici
6.1.1 Visualizzare gli utenti con privilegi di amministratore (sudo)
Per elencare gli utenti con privilegi sudo, usa il comando getent per ispezionare il file /etc/group:
getent group sudo
Esempio di output
sudo:x:27:user1,user2
sudo:x:27:→ Informazioni sul gruppouser1,user2→ Utenti appartenenti al gruppo sudo
6.1.2 Visualizzare gli utenti abilitati al login
Il file /etc/passwd include account di sistema. Per estrarre solo gli utenti che possono effettuare il login:
grep '/bin/bash' /etc/passwd
Output di esempio
user1:x:1001:1001::/home/user1:/bin/bash
user2:x:1002:1002::/home/user2:/bin/bash
- Solo gli utenti con shell come
/bin/basho/bin/shsono inclusi - Gli account di sistema che usano
/usr/sbin/nologino/bin/falsesono esclusi
6.1.3 Visualizza Utenti di Sistema (Account Non-Login)
grep -E '/usr/sbin/nologin|/bin/false' /etc/passwd
Output di esempio
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
syslog:x:104:110::/home/syslog:/bin/false
Questo aiuta gli amministratori a identificare gli account che non dovrebbero essere rimossi accidentalmente.
6.2 Pulizia Periodica degli Utenti Non Utilizzati
6.2.1 Visualizza l’Ultimo Tempo di Login di Tutti gli Utenti
lastlog
Output di esempio
Username Port From Latest
root tty1 Mon Feb 12 14:02:08 +0000 2025
user1 pts/0 192.168.1.10 Mon Jan 15 10:30:12 +0000 2025
user2 pts/1 192.168.1.20 Never logged in
- Mai effettuato login → L’utente non ha mai effettuato login
sudo deluser user2 --remove-home
6.2.2 Verifica l’Ultimo Cambio di Password
sudo chage -l user1
sudo passwd --expire user1
La prossima volta che l’utente effettua il login, sarà richiesto un reset della password per motivi di sicurezza.
6.3 Controlla Utenti Connessi via SSH
who | grep pts
Output di esempio
user1 pts/0 192.168.1.10 11:30
Questo aiuta a identificare gli utenti remoti e i loro indirizzi IP.
6.4 Esporta Tutte le Informazioni Utente in CSV
getent passwd | awk -F: '{print $1 "," $3 "," $4 "," $6}' > users.csv
Esempio users.csv
root,0,0,/root
user1,1001,1001,/home/user1
user2,1002,1002,/home/user2
- Esporta nome utente, UID, GID e directory home
- I dati possono essere analizzati usando Excel o fogli di calcolo
7. FAQ
7.1 Posso modificare /etc/passwd direttamente?
Risposta: La modifica diretta non è raccomandata. Modifiche errate potrebbero impedire il login o danneggiare il sistema.
Metodo più sicuro:
sudo vipw
7.2 Differenza Tra i Comandi who e users
| Command | Description |
|---|---|
who | Displays detailed login information |
users | Displays only usernames of logged-in users |
7.3 Come Controllare la Storia dei Login per un Utente Specifico
last user1
7.4 Come Cambiare la Password di un Utente
sudo passwd user1
7.5 Come Disabilitare Temporaneamente un Utente
sudo usermod -L user1
sudo usermod -U user1
7.6 Aggiungi un Utente al Gruppo sudo
sudo usermod -aG sudo user1
7.7 Cambia la Directory Home di un Utente
sudo usermod -d /new/home/path -m user1
7.8 Rimuovi Completamente un Utente e i Suoi Dati
sudo deluser --remove-home user1
o
sudo userdel -r user1
7.9 Controlla l’Attività Dettagliata degli Utenti Loggati
w
- Utenti loggati
- Indirizzi IP remoti
- Processi correnti
- Carico del sistema
Questo permette agli amministratori di monitorare l’utilizzo e rilevare accessi non autorizzati.