![](/img/trans.png)
[英]How to successfully run Perl script with setuid() when used as cgi-bin?
[英]How to allow perl cgi-bin script to run system commands?
我目前正在網站上將Perl腳本開發為cgi-bin。
我成功配置了它,使其運行沒有任何問題。 這是我為此所做的配置。
ScriptAlias /cgi-bin/ /my web directory/cgi-bin/
<Directory /my web directory/cgi-bin/>
Options ExecCGI
AddHandler cgi-script cgi pl
</Directory>
但是我不能在腳本中使用system()函數來運行一些系統命令。 它給出了不能執行,沒有這樣的文件或目錄或權限被拒絕。
應該添加apache配置以允許cgi-bin運行這些命令?
謝謝!
好的,發現問題並修復。
我遵循的步驟:
apt-get install apache2-suexec-custom
a2enmod suexec
/etc/init.d/apache2 reload
然后轉到網站apache config,並在此處添加SuexecUserGroup asterisk asterisk
在這里,星號是我沒有運行命令權限的用途。
然后轉到/etc/apache2/suexec/www-data
,您將看到2條非注釋行。 我們需要為cgi-bin提供正確的絕對路徑,為cgi-bin提供別名路徑。 默認情況下,它具有/var/www
和public_html/cgi-bin
。
而已。 這解決了我的問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.