Apache-2.2
以使用者 www 的身份在命令行上執行 cgi-script?
我正在執行 FreeBSD 7 和 apache-2.2.13。
我正在嘗試在http://www.example.org/cgi-bin/printenv調試 cgi 腳本。這個腳本是一個用 Bourne shell 編寫的簡單腳本。
我想以使用者“www”的身份從 unix 命令行執行此腳本。但是,使用者“www”沒有外殼(按設計)。這意味著我不能“su”到使用者“www”來執行這個腳本:
# su www -c /usr/local/www/apache22/cgi-bin/printenv This account is currently not available. # su - www -c /usr/local/www/apache22/cgi-bin/printenv su: no directory
如何以使用者“www”執行此腳本?
您的第一個範例很好-該錯誤可能意味著目前指向了 shell
nologin
。只需將其更改為有效的 shell 或使用類似sudo
hack 但可以工作的東西。[root@monkey]# grep 猴子 /etc/passwd monkeyman:x:100:101:monkeyman:/home/monkeyman:/sbin/nologin [root@monkey]# sudo -u monkeyman echo "hi" 你好 [root@monkey]# su monkeyman -c 'echo hi' 此帳戶目前不可用。
您是否嘗試過在 FreeBSD 下以不同使用者身份執行的建議?