diff --git a/labs/lab-01-iam/how-to-guides/add-user-to-docker-group.md b/labs/lab-01-iam/how-to-guides/add-user-to-docker-group.md new file mode 100644 index 0000000..85537d0 --- /dev/null +++ b/labs/lab-01-iam/how-to-guides/add-user-to-docker-group.md @@ -0,0 +1,50 @@ +# How-To: Aggiungere un Utente al Gruppo Docker + +Guida rapida per aggiungere un utente Linux al gruppo Docker e dargli accesso al socket. + +## Comando Rapido + +```bash +# Aggiungi utente esistente al gruppo docker +sudo usermod -aG docker nome_utente +``` + +## Verifica + +```bash +# Verifica l'appartenenza al gruppo +groups nome_utente + +# Verifica l'accesso docker +sudo -u nome_utente -i docker ps +``` + +## Nota Importante + +I gruppi vengono valutati al login. Per attivare il nuovo gruppo immediatamente: + +```bash +# Opzione 1: newgrp (attiva solo per questo comando) +sudo -u nome_utente -i docker ps + +# Opzione 2: su - (nuova sessione login) +su - nome_utente +docker ps + +# Opzione 3: logout/login (sessione interattiva) +``` + +## Rimuovi Utente dal Gruppo Docker + +```bash +# Rimuovi utente dal gruppo docker +sudo gpasswd -d nome_utente docker + +# Oppure modifica i gruppi supplementari +sudo usermod -G nome_utente nome_utente +``` + +## Vedi Anche + +- [Tutorial: Permessi Docker tramite Gruppi](../tutorial/02-docker-group-permissions.md) +- [Reference: Permessi Socket Docker](../reference/docker-socket-permissions.md) diff --git a/labs/lab-01-iam/how-to-guides/reset-docker-permissions.md b/labs/lab-01-iam/how-to-guides/reset-docker-permissions.md new file mode 100644 index 0000000..d199ceb --- /dev/null +++ b/labs/lab-01-iam/how-to-guides/reset-docker-permissions.md @@ -0,0 +1,110 @@ +# How-To: Reset dei Permessi Docker + +Guida per ripristinare i permessi del socket Docker e risolvere problemi di accesso. + +## Reset dei Permessi del Socket + +```bash +# Ferma il demone Docker +sudo systemctl stop docker + +# Ripristina la proprietà del socket +sudo chown root:docker /var/run/docker.sock + +# Ripristina i permessi (660 = rw-rw----) +sudo chmod 660 /var/run/docker.sock + +# Riavvia Docker +sudo systemctl start docker +``` + +## Verifica + +```bash +# Verifica i permessi del socket +ls -l /var/run/docker.sock +``` + +Atteso: `srw-rw---- 1 root docker ...` + +## Ricrea il Gruppo Docker + +Se il gruppo docker è stato eliminato: + +```bash +# Crea il gruppo docker +sudo groupadd docker + +# Riavvia Docker per assicurarti che il socket appartenga al gruppo +sudo systemctl restart docker +``` + +## Risoluzione Problemi Comuni + +### Problema: "Got permission denied while trying to connect" + +**Causa:** Utente non in gruppo docker o permessi socket errati + +**Soluzione:** + +```bash +# Verifica gruppi utente +groups $USER + +# Aggiungi al gruppo se necessario +sudo usermod -aG docker $USER + +# Verifica permessi socket +ls -l /var/run/docker.sock + +# Correggi se necessario +sudo chmod 660 /var/run/docker.sock +sudo chown root:docker /var/run/docker.sock +``` + +### Problema: Socket non esiste + +**Causa:** Docker non è in esecuzione + +**Soluzione:** + +```bash +# Avvia Docker +sudo systemctl start docker + +# Verifica che il socket sia stato creato +ls -l /var/run/docker.sock +``` + +### Problema: Group membership non attiva + +**Causa:** I gruppi vengono valutati al login + +**Soluzione:** + +```bash +# Attiva il gruppo per la sessione corrente +newgrp docker + +# Oppure fai login di nuovo +su - $USER +``` + +## Reset Completo dell'Ambiente + +Per reset completo dell'ambiente Docker tra i lab: + +```bash +# Usa lo script di reset +bash scripts/reset-env.sh + +# Oppure reset manuale +docker stop $(docker ps -aq) +docker rm $(docker ps -aq) +docker system prune -a +``` + +## Vedi Anche + +- [How-To: Ambiente Reset](../../how-to-guides/reset-docker-environment.md) +- [Tutorial: Permessi Docker](../tutorial/02-docker-group-permissions.md) diff --git a/labs/lab-01-iam/how-to-guides/verify-non-root-container.md b/labs/lab-01-iam/how-to-guides/verify-non-root-container.md new file mode 100644 index 0000000..4400edc --- /dev/null +++ b/labs/lab-01-iam/how-to-guides/verify-non-root-container.md @@ -0,0 +1,55 @@ +# How-To: Verificare che un Container Giri come Non-Root + +Guida rapida per verificare che un container non giri come utente root (requisito INF-01). + +## Metodo 1: docker exec whoami + +```bash +docker exec whoami +``` + +Se mostra `root`, il container NON è conforme a INF-01. + +## Metodo 2: docker inspect + +```bash +docker inspect --format='{{.Config.User}}' +``` + +- Se vuoto, il container gira come root (default) +- Se mostra un UID/nome, il container gira come quell'utente + +## Metodo 3: docker top + +```bash +docker top +``` + +Guarda la colonna USER: +- `0` o `root` = NON conforme +- Altri UID (es. `1000`) = CONFORME + +## Verifica Tutti i Container + +```bash +# Verifica tutti i container in esecuzione +docker ps --format "{{.Names}}" | while read container; do + echo "Container: $container" + docker exec $container whoami 2>/dev/null || echo "N/A" +done +``` + +## Verifica con docker-compose + +```bash +# Verifica tutti i servizi nel compose file +docker-compose ps --services | while read service; do + container=$(docker-compose ps -q $service) + echo "Service: $service, User: $(docker exec $container whoami)" +done +``` + +## Vedi Anche + +- [Tutorial: Container Non-Root](../tutorial/03-verify-iam-setup.md) +- [Test: Script Non-Root](../tests/03-non-root-test.sh)