从安全角度来看,授予 apache 用户对 /etc/shadow 的读取权限是明智的决定吗?

从安全角度来看,授予 apache 用户对 /etc/shadow 的读取权限是明智的决定吗?

我必须对 DAV SVN 使用 PAM 身份验证,但是当所有配置都按照 mod_auth_pam 文档中指定的方式进行时,身份验证不起作用。经过一番研究,我意识到,要使此功能正常工作,httpd 应该在 root 用户下运行(我不喜欢并且不会实现)或 apache 用户(默认情况下 httpd 在该用户下运行)应该具有读取 /etc/shadow 文件的权限。因此,我想问一对相互关联的问题:

  1. 从安全角度来看,给予 apache 用户此许可是明智的决定吗?
  2. 如果第一个问题的答案是“是”,那么正确的方法是什么?

目前我已经完成以下工作:

groupadd shadow
usermod -G shadow apache
chmod g+r /etc/shadow

我能想到的另一种方法是使用 acl:

setfacl -m u:apache:r /etc/shadow

笔记: 操作系统是 Fedora 14 x86_64(内核:2.6.35.11)

httpd v2.2.17

mod_auth_pam v1.1.1

答案1

不,您永远不应该让 Apache 等可公开访问的服务访问 /etc/shadow。

除了 mod_auth_pam,您还可以尝试使用mod_auth_external和这个结合验证码

相关内容