feat(02-02): create tutorial part 1 - Linux users

- Step-by-step user creation guide for lab01_student
- Follows 'little often' principle with small incremental steps
- Includes verification at each step
- Troubleshooting section for common issues
This commit is contained in:
Luca Sacchi Ricciardi
2026-03-24 22:24:01 +01:00
parent c6e08ca17d
commit b130b1cc3e

View File

@@ -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
```