2

我可以像在 suexec 下运行普通 CGI 应用程序一样以普通用户身份运行我的 mod_perl 应用程序吗?

4

2 回答 2

2

来源

是否可以将启用 mod_perl 的 Apache 作为 suExec 运行?

答案是否定的。原因是你不能“suid”一个过程的一部分。mod_perl 存在于 Apache 进程中,因此它的 UID 和 GID 与 Apache 进程相同。

如果您需要此功能,则必须使用 mod_cgi。

另一种解决方案是使用 crontab 调用一些脚本,该脚本将检查是否有事情要做并执行它。mod_perl 脚本将能够创建和更新此待办事项列表。

来自“实用 mod_perl”一书的一些可能的解决方法的更细致入微的答案:(我希望这不是盗版内容,如果是,请编辑出来)

mod_perl 2.0 改进了这种情况,因为它允许 Perl 解释器池专用于单个虚拟主机。可以将这些解释器的 UID 和 GID 设置为配置了虚拟主机的用户的 UID 和 GID,这样用户就可以在自己的受保护空间内操作,而不会干扰其他用户。

SME 书中的其他解决方案在附录 C2中

于 2010-04-10T11:32:39.987 回答
0

由于 mod_perl 在 apache 进程中运行,我认为答案通常是否定的。例如,您可以作为这个普通用户运行一个单独的 apache 进程,并使用主 apache 进程作为它的代理。

于 2010-04-09T18:26:54.387 回答