`影子` 组有什么用?

`影子` 组有什么用?

在我的 Ubuntu 9.10 系统上,有一个shadow系统组。似乎根本没有任何用户被分配到这个组。我能找到的属于这个组的唯一文件是/etc/shadow/etc/gshadow

我知道这些文件的目的是单独存储密码,以使普通用户无法访问,因为他们可能passwd因为其他原因而无法访问。

shadow 团体

我对此感到好奇的原因是因为我正在考虑配置nsswitch.conf将其存储在其他地方,并且想知道是否有任何东西实际尝试使用组凭据访问shadow数据库。shadow

答案1

$ 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,因此不需要这个。

答案2

不,shadow该组应该没有用户,但是影子密码需要该组才能工作。

我猜这里的想法是让文件只能由 root 访问。root 组中可能还有其他用户,这就是创建单独用户组的原因。

答案3

在我的 Ubuntu 机器上,有许多命令将组 ID 设置为 shadow。这为它们提供了读取两个影子文件(它们被分组到影子中,并且只能由组读取)的权限。

-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

如果你有以下服务仅有的需要能够读取其中一个影子文件,只需将其设置为 shadow 即可。这与上面的建议正好相反 - 并不是有很多其他人属于 root 组,而是按照惯例(和文件权限),该组只授予您这两个资源的访问权限。

相关内容