簡體   English   中英

如何允許perl 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/wwwpublic_html/cgi-bin

而已。 這解決了我的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM