diff --git a/labs/lab-01-iam/tutorial/01-create-linux-users.md b/labs/lab-01-iam/tutorial/01-create-linux-users.md new file mode 100644 index 0000000..4e08aee --- /dev/null +++ b/labs/lab-01-iam/tutorial/01-create-linux-users.md @@ -0,0 +1,162 @@ +# Tutorial: Creare Utenti Linux per il Lab IAM + +In questo tutorial creerai utenti Linux con permessi limitati per simulare utenti IAM in un ambiente cloud. Imparerai a creare utenti, verificare i permessi e gestire l'appartenenza ai gruppi. + +## Obiettivo + +Creare un utente Linux `lab01_student` che non ha accesso iniziale a Docker, simulando un utente cloud senza permessi. + +## Prerequisiti + +- Accesso a un terminale Linux con privilegi sudo +- Docker Engine installato e in esecuzione +- Comandi base: `useradd`, `groups`, `id` + +--- + +## Passo 1: Verifica l'ambiente + +Prima di creare utenti, verifichiamo che l'ambiente sia pronto. + +Esegui: + +```bash +# Verifica che Docker sia in esecuzione +sudo systemctl status docker + +# Verifica che il gruppo docker esista +getent group docker +``` + +Atteso: +- Docker deve essere "active (running)" +- Il gruppo docker deve essere mostrato + +Se qualcosa non funziona, consulta [Troubleshooting](#troubleshooting). + +--- + +## Passo 2: Crea un nuovo utente Linux + +Creiamo un utente che simulerà un utente cloud senza permessi IAM. + +Esegui: + +```bash +# Crea l'utente lab01_student +sudo useradd -m -s /bin/bash lab01_student + +# Verifica che l'utente sia stato creato +id lab01_student +``` + +Atteso: + +``` +uid=1001(lab01_student) gid=1001(lab01_student) gruppi=1001(lab01_student) +``` + +Spiegazione: +- `-m` crea la home directory +- `-s /bin/bash` imposta la shell di default +- L'utente ha solo il proprio gruppo iniziale + +--- + +## Passo 3: Verifica i gruppi dell'utente + +Controlliamo a quali gruppi appartiene l'utente. + +Esegui: + +```bash +groups lab01_student +``` + +Atteso: + +``` +lab01_student : lab01_student +``` + +Nota: L'utente NON è nel gruppo `docker`. Questo è corretto - simuliamo un utente senza permessi. + +--- + +## Passo 4: Verifica che l'utente NON può accedere a Docker + +Prova a eseguire un comando Docker come l'utente `lab01_student`. + +Esegui: + +```bash +# Esegui docker ps come lab01_student +sudo -u lab01_student docker ps +``` + +Atteso: + +``` +permission denied while trying to connect to the Docker daemon socket +``` + +Questo è il comportamento corretto! L'utente non ha ancora permessi Docker. + +--- + +## Passo 5: Imposta una password per l'utente (opzionale) + +Se vuoi poter fare login come questo utente: + +Esegui: + +```bash +sudo passwd lab01_student +``` + +Inserisci una password quando richiesto. + +--- + +## Verifica + +Hai completato questo tutorial quando: +- [ ] L'utente `lab01_student` esiste +- [ ] L'utente NON è nel gruppo docker +- [ ] L'utente NON può eseguire comandi docker +- [ ] Il comando `groups lab01_student` mostra solo il proprio gruppo + +## Prossimo Passo + +Nel [prossimo tutorial](./02-docker-group-permissions.md) imparerai a dare permessi Docker all'utente tramite i gruppi. + +--- + +## Troubleshooting + +**Problema: `useradd: user 'lab01_student' already exists`** + +Soluzione: + +```bash +# Elimina l'utente esistente e ricrealo +sudo userdel -r lab01_student +sudo useradd -m -s /bin/bash lab01_student +``` + +**Problema: Docker non è in esecuzione** + +Soluzione: + +```bash +sudo systemctl start docker +sudo systemctl enable docker +``` + +**Problema: Il gruppo docker non esiste** + +Soluzione: + +```bash +sudo groupadd docker +```