我正在运行FreeBSD 7和apache-2.2.13。
我想在http://www.example.org/cgi-bin/printenv上debugging一个cgi脚本。 这个脚本是一个用Bourne shell编写的简单的脚本。
我想从Unix命令行运行这个脚本,用户名为“www”。 但是,用户'www'没有shell(按devise)。 这意味着我不能'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这是一种破解,但将工作。
[root @ monkey]#grep monkey / etc / passwd monkeyman:X:100:101:monkeyman:/家/ monkeyman:/ sbin目录/ nologin的 [root @ monkey]#sudo -u monkeyman echo“hi” 嗨 [root @ monkey]#su monkeyman -c'echo hi' 此帐户目前不可用。
你有没有尝试在FreeBSD下以不同的用户身份运行 ?