Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 如何在perl中以root身份运行句子_Linux_Apache_Perl_Debian - Fatal编程技术网

Linux 如何在perl中以root身份运行句子

Linux 如何在perl中以root身份运行句子,linux,apache,perl,debian,Linux,Apache,Perl,Debian,我制作了一个perl程序,使用apache2将用户添加到系统中。当我以根用户身份运行时,它可以工作,但我在html的寄存器中使用它,因此该程序由该用户运行(我认为),它不工作。/var/log/apache2/error.log中的错误是:“AH1215:无法打开\u在/usr/lib/cgi-bin/registro.cgi第60行被拒绝的/etc/passwd权限”该行如下 Linux::usermod->add($user,$password) 一种解决方案必须是使用chmod+s

我制作了一个perl程序,使用apache2将用户添加到系统中。当我以根用户身份运行时,它可以工作,但我在html的寄存器中使用它,因此该程序由该用户运行(我认为),它不工作。/var/log/apache2/error.log中的错误是:
“AH1215:无法打开\u在/usr/lib/cgi-bin/registro.cgi第60行被拒绝的/etc/passwd权限”
该行如下

Linux::usermod->add($user,$password)

一种解决方案必须是使用chmod+s向registro.cgi授予权限+s,但不允许使用这种方式。

您的问题的前提表明缺乏对系统安全的适当关注,但是如果你真的想给一个web应用授予这种特权,那么一个合理的方法是让单独的
setuid
程序以提升的特权运行,以执行一些根级别的操作

这些
setuid
程序的功能将受到限制,您可以进行额外的输入验证和验证,以确保它们不会被劫持来做坏事。然后,web脚本可以根据需要调用此
setuid
程序


我想强调我对允许CGI脚本操作
/etc/passwd
的警告。对于web应用程序来说,这是一种非常可疑的行为,在进行设计之前,您应该仔细考虑。

您到底为什么希望允许不安全的CGI脚本能够创建系统用户?、、等等。