- 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
224 lines
3.9 KiB
Markdown
224 lines
3.9 KiB
Markdown
# Reference: Utenti e Gruppi Linux
|
|
|
|
Specifiche tecniche per la gestione utenti e gruppi in Linux per il lab IAM.
|
|
|
|
## Comandi Utente
|
|
|
|
### useradd - Crea utente
|
|
|
|
```bash
|
|
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
|
|
|
|
```bash
|
|
# 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
|
|
|
|
```bash
|
|
# Elimina utente (mantieni home)
|
|
sudo userdel nome_utente
|
|
|
|
# Elimina utente e home directory
|
|
sudo userdel -r nome_utente
|
|
```
|
|
|
|
### passwd - Imposta password
|
|
|
|
```bash
|
|
# Imposta password per utente
|
|
sudo passwd nome_utente
|
|
|
|
# Cambia la tua password
|
|
passwd
|
|
```
|
|
|
|
## Comandi Gruppo
|
|
|
|
### groupadd - Crea gruppo
|
|
|
|
```bash
|
|
sudo groupadd docker
|
|
```
|
|
|
|
### groupmod - Modifica gruppo
|
|
|
|
```bash
|
|
# Rinomina gruppo
|
|
sudo groupmod -n nuovo_nome vecchio_nome
|
|
|
|
# Modifica GID
|
|
sudo groupmod -g 1001 docker
|
|
```
|
|
|
|
### gpasswd - Gestisci membri gruppo
|
|
|
|
```bash
|
|
# 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
|
|
|
|
```bash
|
|
sudo groupdelete docker
|
|
```
|
|
|
|
## Comandi Informazione
|
|
|
|
### id - Mostra info utente
|
|
|
|
```bash
|
|
# 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
|
|
|
|
```bash
|
|
# Gruppi dell'utente corrente
|
|
groups
|
|
|
|
# Gruppi di un utente specifico
|
|
groups nome_utente
|
|
```
|
|
|
|
### getent - Query database di sistema
|
|
|
|
```bash
|
|
# 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
|
|
|
|
```bash
|
|
# 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
|
|
|
|
```bash
|
|
# 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
|
|
|
|
```bash
|
|
# 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
|
|
|
|
```bash
|
|
# 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
|
|
|
|
- [Reference: Permessi Socket Docker](./docker-socket-permissions.md)
|
|
- [How-To: Aggiungi Utente al Gruppo Docker](../how-to-guides/add-user-to-docker-group.md)
|