Apache:每个SSL客户端更改PHP suexec用户/组

我有一个服务器运行几个虚拟主机的网站,并想知道是否有一种方法来获得一些不同的用户/组下执行一些虚拟主机PHP取决于连接到它们的客户端。 我想它可能会像:

  1. 客户端通过https连接
  2. 客户端可以提供SSL证书(或不)
  3. 服务器决定是否:
    • 如果没有提供证书,请在user1 / group1下运行PHP
    • 如果某个白名单的证书和某些cookie是由客户端发送的,请在user2 / group2下运行PHP

有人知道这样的事情是可能的吗?

这在技术上可能是可能的,但需要大量的手工才能实现。 我不相信每个请求function存在,这将允许您设置正在运行的用户/组。

问题是,要下拉到不同的用户/组,您需要使代码以root身份运行。 即使你使用了一个中间脚本来做出这个决定,它根本就不可能以root身份运行,因此不能“下降”到不同的用户,因为不会有下降的情况发生。

所以我觉得没有很多的工作:不。