Files
laboratori-cloud/labs/lab-01-iam/reference/linux-users-groups.md
Luca Sacchi Ricciardi cc3a28f192 feat(02-02): create reference documents with technical specifications
- docker-socket-permissions.md: Docker socket technical specs and access control
- linux-users-groups.md: Linux user management reference with commands
- iam-parallels.md: Quick reference table for IAM parallelism
- Pure reference material with tables and specifications
2026-03-24 22:26:25 +01:00

3.9 KiB

Reference: Utenti e Gruppi Linux

Specifiche tecniche per la gestione utenti e gruppi in Linux per il lab IAM.

Comandi Utente

useradd - Crea utente

sudo useradd -m -s /bin/bash nome_utente
Flag Significato
-m Crea home directory
-s /bin/bash Imposta shell di login
-G group1,group2 Aggiunge a gruppi supplementari
-u 1000 Specifica UID

usermod - Modifica utente

# Aggiungi a gruppo (append)
sudo usermod -aG docker nome_utente

# Modifica shell
sudo usermod -s /bin/zsh nome_utente

# Modifica gruppi supplementari (sovrascrive)
sudo usermod -G docker,nome_utente nome_utente

⚠️ IMPORTANTE: Usa -aG (append) per aggiungere a un gruppo senza rimuovere gli altri.

userdel - Elimina utente

# Elimina utente (mantieni home)
sudo userdel nome_utente

# Elimina utente e home directory
sudo userdel -r nome_utente

passwd - Imposta password

# Imposta password per utente
sudo passwd nome_utente

# Cambia la tua password
passwd

Comandi Gruppo

groupadd - Crea gruppo

sudo groupadd docker

groupmod - Modifica gruppo

# Rinomina gruppo
sudo groupmod -n nuovo_nome vecchio_nome

# Modifica GID
sudo groupmod -g 1001 docker

gpasswd - Gestisci membri gruppo

# Aggiungi utente al gruppo
sudo gpasswd -a utente gruppo

# Rimuovi utente dal gruppo
sudo gpasswd -d utente gruppo

# Imposta amministratori gruppo
sudo gpasswd -A utente1,utente2 gruppo

groupdel - Elimina gruppo

sudo groupdelete docker

Comandi Informazione

id - Mostra info utente

# Mostra UID, GID e gruppi dell'utente corrente
id

# Mostra info di un utente specifico
id nome_utente

# Solo UID
id -u nome_utente

# Solo gruppi
id -G nome_utente

Output esempio:

uid=1001(lab01_student) gid=1001(lab01_student) groups=1001(lab01_student),999(docker)

groups - Mostra gruppi utente

# Gruppi dell'utente corrente
groups

# Gruppi di un utente specifico
groups nome_utente

getent - Query database di sistema

# Verifica che un gruppo esista
getent group docker

# Output: docker:x:999:utente1,utente2
#        nome:x:GID:lista_membri

# Verifica che un utente esista
getent passwd nome_utente

# Output: nome_utente:x:1001:1001:,,,:/home/nome_utente:/bin/bash
#         nome:x:UID:GID:commento:home:shell

File di Configurazione

/etc/passwd

# Visualizza tutti gli utenti
cat /etc/passwd

# Aggiungi utente manualmente (non raccomandato)
echo "utente:x:1001:1001::/home/utente:/bin/bash" | sudo tee -a /etc/passwd

Formato:

username:x:UID:GID:commento:home:shell

/etc/group

# Visualizza tutti i gruppi
cat /etc/group

# Aggiungi gruppo manualmente
echo "docker:x:999:utente1,utente2" | sudo tee -a /etc/group

Formato:

gruppo:x:GID:lista_membri

/etc/shadow

# Password e scadenza (richiede root)
sudo cat /etc/shadow

Valutazione Gruppi al Login

I gruppi vengono valutati quando l'utente fa login:

Momento Gruppi Valutati
Avvio sistema No
Login interattivo Si
su - utente Si (nuovo login)
newgrp group Si (solo sessione corrente)
sudo -u utente cmd No (gruppi dell'utente originale)
Aggiunta gruppo con usermod No (fino al prossimo login)

UID/GID Standard

UID/GID Utente/Gruppo
0 root
1-999 Utenti di sistema
1000-60000 Utenti normali
999 docker (tipico)

Comandi Rapidi

# Lista tutti gli utenti umani
cat /etc/passwd | grep ':[1-9][0-9][0-9][0-9]:'

# Lista tutti i gruppi
cat /etc/group | cut -d: -f1

# Utenti in un gruppo
members gruppo
# Oppure:
getent group gruppo | cut -d: -f4

Vedi Anche