有没有办法通过apache运行php进程作为通过ldap进行身份验证的用户?
我们目前在内联网上运行ubuntu计算机,允许用户使用我们的内部生产网站以及每个用户的开发网站来访问ssh并运行Web服务器。我们的生产网站的所有目录都设置为0750,其中组是ldap组,属于每个ldap组的www-data用户。我们的~100个用户中的每一个都属于一组ldap组,因此当通过ssh登录时,他们只能对其相应的ldap组具有对文件/目录的读访问权。我们还使用ldap组来控制对svn存储库的r / w访问。
我们打算将用户开发目录移动到使用suexec / suphp作为拥有该目录的用户运行的单独虚拟主机(目前还不太清楚,但它似乎已有详细记录)。但是,用户也可以轻松地将文件添加到生产网站。我们担心的是,用户可以将脚本添加到生产网站,然后可以在我们的生产网站中读取/复制每个其他脚本。是否有可能通过apache执行php脚本作为经过身份验证的用户运行,以便他们的访问受限,就像通过命令行运行脚本一样?
以下是一个示例目录结构:
目录:
drwxr-x--- 16 admin ldab_a proj_a
drwxr-x--- 1 admin ldap_b proj_b
drwxr-x--- 1 admin ldap_c proj_c
drwxr-x--- 3 admin ldap_d proj_d
用户:群组成员资格
jane (ldap_a,ldap_c)
tom (ldab_b,ldap_c)
www-data (ldap_a,ldap_b,ldap_c,ldap_d)
我们理想的结构:
答案 0 :(得分:0)
我建议你研究一下这个项目:suPHP
从他们的网站上说:
suPHP是一个使用其所有者权限执行PHP脚本的工具。它由Apache模块(mod_suphp)和setuid根二进制文件(suphp)组成,Apache模块调用它来更改执行PHP解释器的进程的uid。
我希望有所帮助!