Перезапустите apache2 из linux bash от имени пользователя root - PullRequest
0 голосов
/ 13 сентября 2011

Я хочу перезапустить apache из bash в linux (OpenSUSE).

Я пытаюсь прочитать пароль root из файла (stdin).Вот как я это делаю:

exec < /opt/otrsadm/stdin
read a1
sudo apache2ctl -k graceful
echo $a1

Я получаю это в своем журнале:

[Mon Sep 12 23:23:12 2011] [error] [client 192.168.1.101] Restarting apache
[Mon Sep 12 23:23:13 2011] [error] [client 192.168.1.101] sudo
[Mon Sep 12 23:23:13 2011] [error] [client 192.168.1.101] : 
[Mon Sep 12 23:23:13 2011] [error] [client 192.168.1.101] no tty present and no askpass program specified

В чем моя проблема и как ее исправить?

1 Ответ

4 голосов
/ 13 сентября 2011

Опция sudo -S считывает пароль из стандартного ввода.

Опция -S (stdin) заставляет sudo читать пароль со стандартного ввода вместо оконечного устройства.

echo "password" | sudo -S apache2ctl -l graceful 
...