$ find /usr/bin/ -group shadow | xargs ls -l
-rwxr-sr-x 1 root shadow 45384 2008-12-08 03:13 /usr/bin/chage
-rwxr-sr-x 1 root shadow 21424 2008-12-08 03:13 /usr/bin/expiry
Potrebbero non esserci utenti, ma esiste sicuramente un software che deve essere in grado di leggere quel file. Nota che passwd
stesso è setuid root, quindi non ne ha bisogno.
No, shadow
il gruppo non dovrebbe avere utenti, ma questo gruppo è necessario per il funzionamento delle password shadow.
Immagino che l'idea qui sia di avere il file accessibile solo da root e root. Potresti avere utenti extra nel gruppo root, questo è il motivo per cui è stato creato il gruppo di utenti separato.
Sulla mia macchina Ubuntu ci sono una serie di comandi che sono set-group-id su shadow. Ciò fornisce loro esattamente e solo il privilegio di leggere i due file shadow (che sono raggruppati in shadow e leggibili solo dal gruppo).
-rwxr-sr-x 1 root shadow 35584 Mar 16 11:45 /sbin/pam_extrausers_chkpwd
-rwxr-sr-x 1 root shadow 35544 Mar 16 11:45 /sbin/unix_chkpwd
-rwxr-sr-x 1 root shadow 59224 Jul 20 2015 /usr/bin/chage
-rwxr-sr-x 1 root shadow 23424 Jul 20 2015 /usr/bin/expiry
-rw-r----- 1 root shadow 1043 Apr 2 00:27 /etc/gshadow
-rw-r----- 1 root shadow 1732 Apr 2 00:27 /etc/shadow
Se hai un servizio che solo richiede di essere in grado di leggere l'uno o l'altro dei file shadow, basta renderlo set-group-id su shadow. Questo è un po' l'opposto di quanto suggerito sopra:non è che ci siano molte altre persone che si trovano nella root del gruppo, è che per convenzione (e permessi sui file) questo gruppo ti concede l'accesso solo a queste due risorse.