Как удостовериться, что сценарий удара является исполняемым файлом через сеть, не будучи в/cgi-bin каталоге?

fetchmail(1) уменьшил конфигурацию, которую я фактически использовал для извлечения из POP3 и доставки в Maildir:

set daemon 300

poll mail.domain.com proto POP3
    user "user@domain.com" pass "VerySecret"
    fetchall
    no keep
    no rewrite
    mda "procmail"

в сочетании с procmail(1) config ~/.procmailrc:

MAILDIR=$HOME/Maildir/
DEFAULT=$MAILDIR
1
15.08.2016, 14:46
1 ответ

Отредактируйте запись <Каталог "/0" > в вашем httpd.conf файле и добавьте:

Options +ExecCGI
AddHandler cgi-script .sh 

В итоге вы должны получить что-то похожее на:

<Directory "/0" >
    ...
    Options +ExecCGI
    AddHandler cgi-script .sh 
    ...
</Directory>

Перезагрузить ваш сервер:

# service httpd restart

Все CGI-файлы должны быть исполняемыми (chmod +x ). Файл будет запущен как пользователь apache и группа apache.

Направьте ваш браузер на http://<имя или IP>/test.sh

CGI не самый эффективный способ запуска скриптов, так как новый процесс (python или bash в данном случае) запускается для каждого запроса, но это действительно облегчает реализацию ваших скриптов. WSGI является более эффективным способом запуска Python, чем основной CGI-скрипт.

1
27.01.2020, 23:52

Теги

Похожие вопросы