В моей системе Ubuntu 9.10 есть shadow
системная группа. Похоже, что к этой группе вообще нет пользователей. Единственные файлы, которые я могу найти, принадлежащие к этой группе, это /etc/shadow
и /etc/gshadow
.
Я знаю, что цель этих файлов - хранить пароли отдельно, вне досягаемости обычных пользователей, которые все еще могут захотеть получить доступ passwd
по другим причинам.
Но какова цель shadow
группа?
Мне это любопытно, потому что я думаю о настройке nsswitch.conf
чтобы сохранить его в другом месте, и хотел бы знать, действительно ли что-нибудь пытается получить доступ к shadow
база данных с использованием shadow
учетные данные группы.
$ 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
Может не быть пользователей, но определенно есть программа, которая должна иметь возможность читать этот файл. Обратите внимание, что passwd
сам по себе является setuid root, поэтому он не нужен.
На моей машине с Ubuntu есть несколько команд, которые устанавливают идентификатор группы для тени. Это дает им в точности и только привилегию чтения двух теневых файлов (которые сгруппированы в теневые и доступны для чтения только группам).
-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
Если у вас есть услуга, которая только требуется, чтобы иметь возможность читать один или другой из теневых файлов, просто сделайте его set-group-id для shadow. Это своего рода противоположность тому, что было предложено выше - дело не в том, что есть много других людей в корне группы, а в том, что по соглашению (и разрешениям на файлы) эта группа предоставляет вам доступ только к этим двум ресурсам.
Нет shadow
В группе не должно быть пользователей, но эта группа необходима для работы теневых паролей.
Я предполагаю, что идея здесь в том, чтобы файл был доступен только root и root. У вас могут быть дополнительные пользователи в корневой группе, поэтому была создана отдельная группа пользователей.