在apache下运行特定的perl脚本

我有一个perl程序运行良好时通过Fedora Linux服务器上的Apache通过互联网调用。 在那个Perl脚本中,我有一个系统命令,因为它需要以root身份运行,所以不能运行。 我意识到所有的安全后果,但肯定必须有一个简单的方法来清除一个合法的脚本做一个合法的function作为根的path。 我已经尝试使用sudo,但我必须删除apache用户的requiretty限制,我不想削弱安全性。 在apacheconfiguration中应该有一种方法来允许特定的文件或目录以root身份运行,但我一直无法find它。 我不希望所有的cgi-bin以root身份运行。 任何帮助表示赞赏。

Perl的? Perl支持setuid脚本。

https://unix.stackexchange.com/questions/364/allow-setuid-on-shell-scripts

Perl是一个明显的例外。 它以安全的方式明确支持setuid脚本。 事实上,即使您的操作系统忽略了脚本上的setuid位,您的脚本也可以运行setuid。 这是因为perl附带了一个setuid根助手,它执行必要的检查,并以所需的权限对所需脚本的解释器进行重新调用。 这在perlsec手册中有解释。 曾经是setuid perl脚本需要#!/ usr / bin / suidperl -wT而不是#!/ usr / bin / perl -wT,但是在大多数现代系统上,#!/ usr / bin / perl -wT就足够了。