CGI com script de shell

4

Estou tendo problemas para executar um exemplo de CGI com o Shell Script, não consigo acessar o diretório criado no exemplo que estou seguindo "/ tmp / shell". Ao acessar o endereço " link " deve ver uma página "Índice de shel", mas dá erro 403 com a mensagem "Você não tem permissão para acessar / shell / neste servidor. "

Estou usando o Fedora 24, e acho que o usuário do apache é chamado 'Apache', bem, pelo menos existe um usuário do apache no arquivo "passwd", a pasta onde eu queria rodar arquivos CGI é com permissão 777 e mudou o usuário para "apache" com chown, mas ainda dá erro 403.

Meu arquivo "/etc/httpd/conf/httpd.conf" se parece com isto:

$ Tail -n20 /etc/httpd/conf/httpd.conf

# Settings for the study of Shell Script and CGI

Alias ​​/shell "/tmp/shell/"

<Directory "/tmp/shell/">
    Options Indexes FollowSymlinks ExecCGI
    AllowOverride None
    Order allow, deny
    Allow from all
</ Directory>

Meu / tmp / shell:

$ ls -ld /tmp/ /tmp/shell
drwxrwxrwt. 15 root   root   480 Out  1 13:53 /tmp/
drwxrwxr-x.  2 apache apache  40 Out  1 13:52 /tmp/shell

O Apache roda normalmente no link , eu não entendo porque não consigo acessar o / tmp / shell. Estou ficando louco aqui!

Alguém pode me ajudar?

    
por Patterson 01.10.2016 / 15:27

1 resposta

4

O Fedora 24 usa o systemd e provavelmente está configurando um /tmp privado apenas para o processo httpd. Você pode verificar isso com

sudo systemctl show -p PrivateTmp httpd

Você pode substituir isso criando um arquivo /etc/systemd/system/httpd.service contendo

.include /lib/systemd/system/httpd.service
[Service]
PrivateTmp=false

e fazendo sudo systemctl daemon-reload antes de reiniciar o serviço.

    
por 01.10.2016 / 18:06