Na minha máquina Ubuntu existem vários comandos que são set-group-id para shadow. Isso fornece a eles exatamente e somente o privilégio de ler os dois arquivos shadow (que são agrupados em shadow e somente legíveis por grupo).
-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 você tiver um serviço que apenas requeira poder ler um ou outro dos arquivos shadow, apenas configure set-group-id para shadow. Isso é o oposto do que foi sugerido acima - não é que haja muitas outras pessoas que estão no grupo root, é por convenção (e permissões de arquivo) que esse grupo concede acesso apenas a esses dois recursos.