$ 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
Il n'y a peut-être pas d'utilisateurs, mais il existe certainement un logiciel qui doit pouvoir lire ce fichier. Notez que passwd
lui-même est setuid root, et n'en a donc pas besoin.
Non, shadow
Le groupe ne doit pas avoir d'utilisateurs, mais ce groupe est requis pour que les mots de passe masqués fonctionnent.
Je suppose que l'idée ici est d'avoir le fichier accessible par root et root uniquement. Vous pouvez avoir des utilisateurs supplémentaires dans le groupe root, c'est pourquoi le groupe d'utilisateurs séparé a été créé.
Sur ma machine Ubuntu, il existe un certain nombre de commandes qui sont set-group-id à shadow. Cela leur donne exactement et uniquement le privilège de lire les deux fichiers shadow (qui sont regroupés dans shadow et uniquement lisibles par groupe).
-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
Si vous avez un service qui uniquement nécessite de pouvoir lire l'un ou l'autre des fichiers fantômes, il suffit de le définir set-group-id sur shadow. C'est en quelque sorte le contraire de ce qui est suggéré ci-dessus - ce n'est pas qu'il y a beaucoup d'autres personnes qui sont dans le groupe root, c'est que par convention (et autorisations de fichiers), ce groupe vous donne accès uniquement à ces deux ressources.