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

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

我正在运行 FreeBSD 7 和 apache-2.2.13。

我正在尝试调试一个 cgi 脚本http://www.example.org/cgi-bin/printenv. 该脚本是一个用Bourne shell编写的简单脚本。

我想以用户“www”的身份从 unix 命令行运行此脚本。但是,用户“www”没有 shell(设计如此)。这意味着我无法“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”身份运行该脚本?

答案1

你的第一个例子很好 - 这个错误可能意味着 shell 当前指向nologin。只需将其更改为有效的 shell 或使用类似 的方法,sudo这有点像 hack 但可以工作。

[root@monkey]# grep monkey /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'
此帐户目前不可用。

答案2

相关内容