我有一台运行多个 vhost 站点的服务器,想知道是否有办法根据连接到它们的客户端以不同的用户/组执行一些 vhost PHP。我想可以这样做:
- 客户端通过 https 连接
- 客户端可以提供 SSL 证书(或不提供)
- 服务器决定是否:
- 如果没有提供证书,则在 user1/group1 下运行 PHP
- 如果客户端发送了特定的白名单证书和特定的 cookie,则在 user2/group2 下运行 PHP
有人知道这样的事情是否有可能吗?
答案1
从技术上来说,这也许是可行的,但要实现它需要大量的手动工作。我认为不存在允许您设置正在运行的用户/组的针对每个请求的功能。
问题是,要切换到不同的用户/组,您需要让做出此决定的代码以 root 身份运行。即使您使用中间脚本来做出此决定,它也不太可能以 root 身份运行,因此无法直接“切换到”不同的用户,因为根本不会发生切换。
因此我认为,如果不做大量工作,就不会。