Execute cgi-script na linha de comando como usuário www?

3

Estou executando o FreeBSD 7 e o apache-2.2.13.

Estou tentando depurar um script cgi no link . Este script é um script simples escrito em shell Bourne.

Eu gostaria de executar este script a partir da linha de comando do Unix, como usuário 'www'. No entanto, o usuário 'www' não tem um shell (por design). Isso significa que não posso 'su' ao usuário 'www' para executar este script:

# 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

Como posso executar este script como usuário 'www'?

    
por Stefan Lasiewski 23.03.2011 / 01:09

2 respostas

1

Seu primeiro exemplo está correto - esse erro provavelmente significa que o shell está atualmente direcionado para nologin . Basta alterá-lo para um shell válido ou usar algo como sudo , que é uma espécie de hack, mas funcionaria.

[root@monkey]# grep monkey /etc/passwd
monkeyman:x:100:101:monkeyman:/home/monkeyman:/sbin/nologin

[root@monkey]# sudo -u monkeyman echo "hi"
hi
[root@monkey]# su monkeyman -c 'echo hi'
This account is currently not available.
    
por 23.03.2011 / 01:58
1

Você já tentou o que é sugerido em Executar como usuário diferente no FreeBSD ?

    
por 23.03.2011 / 01:23