`/etc/group-` 的目的是什么

`/etc/group-` 的目的是什么

在标准 Linux 发行版(例如 Ubuntu)上,通常有/etc/group/etc/group-,其中第二个只能由 root 读取。

man group仅描述/etc/group.

因此我的问题是:目的是什么/etc/group-

答案1

它是文件先前副本的备份,即上次更改之前的文件版本。之所以保留它,是因为它是非常重要的文件。您可以删除它,但备份是一件“好事”。

您可以轻松验证它。尝试

# groupadd test
# diff /etc/group /etc/group-

还有其他文件也以相同的方式备份。/etc/passwd- /etc/shadow-

所有用户和组管理实用程序(例如useradd, usermod, userdel, groupmod, groupdel等)都会在成功执行命令后创建/更新这些备份文件。

答案2

我同意@Sachin Divekar 的回答,即这是一个“备份文件”,但我需要更多有关如何创建文件以及如何设置其权限的信息。在 CentOS6 上,运行usermod更改组成员身份是(重新)创建 /etc/group- ,其权限为 0644,而不是原始问题中所述的“只能以 root 身份读取”。

usermod(以及@Sachin Divekar提到的所有其他用户/组管理实用程序)是shadow-utils包的一部分(我找到了shadow-4.1.5.1的源代码),在深入研究源代码后,我在 commonio 中找到了 #create_backup 方法.c(参见github.com)由所有用户/组实用程序使用。备份文件以源文件命名并后缀“-”(本例为'/etc/group-'),备份文件的权限设置为源文件的权限&'ed with 0664 。

这解释了为什么当 /etc/group 是 chmod 0644 时,在运行gpasswdusermod修改本地组成员身份后,如果 /etc/group 尚不存在,则会创建该文件并将其 chmodded 为 0644。

相关内容