Answers:
在使用GNU libc的Linux系统上,以开头的行#
被忽略/etc/shadow
。解析由完成__fgetspent_r()
,其源代码显式处理(和记录)此行为。
因此,在绝大多数Linux系统上,您都可以在/etc/shadow
其中注释行而#
不会引起问题。
不幸的是,在/etc/shadow
更新时,例如通过passwd
; 删除了注释。因此,从评论的角度来看,存储评论实际上并不安全。
这意味着你需要找到其他地方来存储您的意见:两个很好的建议是DR01的想法使用的/etc/shadow.README
,或更好,但吉尔 ' 的想法使用的承诺与信息etckeeper。
passwd
。我尝试使用伪造的用户条目或有效的用户条目,并在最终条目中添加了字符,但都无济于事。
的每一行都/etc/shadow
被视为用户记录。正如斯蒂芬·基特(Stephen Kitt)所写,他回顾了解析器的源代码,可以#
将以注释开头的行放在文件中,甚至可以是空行,它们将被忽略。
但是,我从未见过/etc/shadow
带有注释的文件。看来这是不常见的做法,并且有很好的理由:强烈建议不要手动编辑它。因此,我建议您创建一个/etc/shadow.README
文件来存储您的评论。记住要注意chmod 000
该文件,以避免非root用户监听它。
000
呢?拥有root:root
然后ug=r,o=
不够?
/etc/shadow
(至少在Red Hat上,我没有看过其他发行版)的权限,并确保只有root才能访问该文件。正如您所建议的那样,如果普通用户错误地加入了根组,则440使文件可读。在适当管理的机器上,出于所有实际目的,它们都是一样的。我认为000更好地表达了“安全关键文件-放手”的意思,但这只是我的看法。
/etc/shadow
。