如何阻止 /etc/passwd 文件

如何阻止 /etc/passwd 文件

我如何阻止/etc/passwd除 root 之外的所有用户使用该文件?

答案1

首先,我们应该注意到,在现代系统中,/etc/passwd 实际上不包含任何密码,它只包含基本的帐户信息。在 Linux 系统上,包含密码的文件是 /etc/shadow,它实际上并不包含密码,而是包含密码的加密生成的哈希值(在基于 FreeBSD 的系统(包括 OSX)上,该文件是 /etc/master.passwd)。

默认情况下,这两个文件应该已经具有保证其安全的权限,这是我的一个 Linux 系统上的 /etc/password:

jed@jed-bt:~$ ls -la /etc/passwd 
-rw-r--r--  1 root  root  1797 Feb 11 13:13 /etc/passwd

请注意,您需要保持 /etc/passwd 的全局可读性,否则会出现问题,如上一个答案所述。因此,要重置这些文件的读/写权限,您可以运行以下命令

chmod 644 /etc/passwd

如果该文件的所有者不是 root,您也可以运行

chown root:root /etc/passwd

来重置它。当然,您要么必须以 root 身份运行chownchmod命令,要么使用sudo

答案2

它必须是全世界可读的,否则系统将崩溃。

答案3

正如 Dennis Williamson 所说:它必须是可读的。并且所有密码都以散列字符串的形式存在于“影子”中,因此它实际上不可利用。

如果您想要更高的安全性,请考虑使用 LDAP 等其他身份验证系统。

相关内容