以用户www的身份在命令行上运行cgi-script?

我正在运行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下以不同的用户身份运行 ?