使用 Apache 以特定用户身份执行 CGI 脚本

使用 Apache 以特定用户身份执行 CGI 脚本

我想在我的网络服务器上运行一个特定的 (perl) CGI 脚本。这很合理,但如果 CGI 脚本以当前经过身份验证的用户身份运行,效果会更好。

有没有办法做到这一点,例如使用包装器和 sudo?

虚拟主机配置如下:

    DocumentRoot /path/to/script
    <Directory /path/to/script>
            Options FollowSymLinks +ExecCGI
            AddHandler cgi-script .cgi

            AuthType Basic
            AuthName "Authenticate"

            # This authenticates against the local NIS
            PerlAuthenHandler Apache2::AuthenNIS
            PerlAuthzHandler Apache2::AuthzNIS
            PerlSetVar AllowAlternateAuth no

            Require valid-user
    </Directory>

答案1

究竟是什么原因阻止您的应用程序以这种方式运行?

可以按照您的要求去做,但最好利用您的时间来配置一个环境,使您的应用程序可以以拥有 httpd 进程的同一用户身份运行。

您只是给您的环境引入了更多复杂性,这使得调试、保护和管理变得更加困难。

无论如何,回答你的问题:查看 suEXEC -http://httpd.apache.org/docs/2.0/suexec.html

与文档相呼应,你几乎总是最好不要这样做事。

相关内容