- 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
3.9 KiB
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