Ank*_*wal 20 security linux bash root
ls -l /etc/passwd
Run Code Online (Sandbox Code Playgroud)
给
$ ls -l /etc/passwd
-rw-r--r-- 1 root root 1862 2011-06-15 21:59 /etc/passwd
Run Code Online (Sandbox Code Playgroud)
所以普通用户可以读取文件。这是安全漏洞吗?
Mic*_*ael 51
实际的密码哈希存储在 中/etc/shadow
,普通用户无法读取。 /etc/passwd
保存有关用户 ID 和 shell 的其他信息,所有用户都必须读取这些信息才能使系统正常运行。
sar*_*old 16
通常,散列密码存储在/etc/shadow
大多数 Linux 系统中:
-rw-r----- 1 root shadow 1349 2011-07-03 03:54 /etc/shadow
Run Code Online (Sandbox Code Playgroud)
(它们存储在/etc/master.passwd
上BSD系统。)
需要执行身份验证的程序仍然需要以root
特权运行:
-rwsr-xr-x 1 root root 42792 2011-02-14 14:13 /usr/bin/passwd
Run Code Online (Sandbox Code Playgroud)
如果您不喜欢这些setuid root
程序和一个包含系统上所有散列密码的单个文件,您可以将其替换为Openwall TCB PAM 模块。这为每个用户提供了他们自己的文件来存储他们的散列密码——因此setuid root
可以大大减少系统上的程序数量。
gee*_*aur 13
密码已/etc/passwd
多年未存储;该名称是遗留的,作为本地用户数据库的功能仍然存在,并且为此目的必须可供所有人阅读。
在某种程度上是这样,因为您可以识别用户。在过去,您还可以获取他们的密码。但是,真正值得破解的用户IDroot
是众所周知的没有密码文件的用户ID 。
使密码文件世界可读的效用通常远远大于风险。即使它不是世界可读的,一个有效的getent passwd
命令也会使安全增益无效。
非 root 用户识别其他人拥有的文件的能力将消失。能够识别拥有的(用户在 passwd 文件中)和未拥有的文件(用户不在 passwd 文件中)在查看文件系统的内容时非常有用。虽然可以通过适当的setuid
程序解决这个问题,但这会通过这些程序增加一个巨大的攻击向量。
最后,这是一个平衡问题,在这种情况下,我会说平衡是坚定地让密码世界可读。
归档时间: |
|
查看次数: |
7558 次 |
最近记录: |