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:
162
labs/lab-01-iam/tutorial/01-create-linux-users.md
Normal file
162
labs/lab-01-iam/tutorial/01-create-linux-users.md
Normal 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
|
||||||
|
```
|
||||||
Reference in New Issue
Block a user