Files
laboratori-cloud/labs/lab-01-iam/reference/docker-socket-permissions.md
Luca Sacchi Ricciardi cc3a28f192 feat(02-02): create reference documents with technical specifications
- 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
2026-03-24 22:26:25 +01:00

2.8 KiB

Reference: Permessi del Socket Docker

Specifiche tecniche del socket Docker Unix domain socket e controllo accessi.

Percorso del Socket

/var/run/docker.sock

Permessi Standard

srw-rw---- 1 root docker 0 Mar 24 20:00 /var/run/docker.sock
Campo Valore Significato
Tipo s Socket Unix domain
Permessi rw-rw---- (660) Owner e gruppo possono leggere/scrivere
Owner root Il demone Docker gira come root
Gruppo docker Membri del gruppo docker possono accedere
Altro --- Nessun altro permesso

Controllo Accessi

L'accesso al socket è controllato dai permessi file system standard Linux:

Chi puo accedere?

Utente Accesso Motivo
root Si Proprietario del socket
Membri del gruppo docker Si Permesso gruppo (rw)
Altri utenti No Nessun permesso

Verifica Permessi

# Mostra permessi dettagliati
stat -c "%a %U %G %n" /var/run/docker.sock
# Output: 660 root docker /var/run/docker.sock

# Verifica gruppo del socket
stat -c "%G" /var/run/docker.sock
# Output: docker

# Verifica proprietario
stat -c "%U" /var/run/docker.sock
# Output: root

Modifica Permessi

# Modifica permessi (non raccomandato: 666 permette accesso a tutti)
sudo chmod 660 /var/run/docker.sock

# Modifica gruppo
sudo chown root:docker /var/run/docker.sock

# Modifica proprietario (non raccomandato)
sudo chown $USER /var/run/docker.sock

⚠️ WARNING: Non usare mai chmod 666 o 777 sul socket Docker. Questo elimina tutti i controlli di accesso.

Docker Daemon e Socket

Allocazione Socket

Il demone Docker crea il socket all'avvio:

# Avvia demone (crea/ricrea socket)
sudo systemctl start docker

# Riavvia per ripristinare permessi
sudo systemctl restart docker

Rootless Docker

Con rootless Docker, il socket si trova in:

$XDG_RUNTIME_DIR/docker.sock
# Tipicamente: /run/user/1000/docker.sock

Troubleshooting

Problema Diagnosi Soluzione
Permission denied Utente non in gruppo docker sudo usermod -aG docker $USER
Socket non trovato Docker non in esecuzione sudo systemctl start docker
Permessi errati chmod eseguito sul socket sudo systemctl restart docker
Gruppo errato Chown sul socket sudo chown root:docker /var/run/docker.sock

Comandi Rapidi

# Verifica permessi attuali
ls -l /var/run/docker.sock

# Verifica chi puo accedere
namei -l /var/run/docker.sock

# Trova processi con handle al socket
sudo lsof /var/run/docker.sock

Vedi Anche