2011-09-12 10 views
0

linux(OpenSUSE)のbashからApacheを再起動したい。rootとしてlinux bashからapache2を再起動

ファイル(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 

私の問題とどのように私はそれを修正すればよいとは何ですか?

答えて

4

sudo -Sオプションは、stdinからパスワードを読み取ります。

-S(stdin)オプションを指定すると、sudoは端末デバイスの代わりに 標準入力からパスワードを読み取ります。

echo "password" | sudo -S apache2ctl -l graceful 
+0

ありがとう!そして、ファイルからパスワードをロードしたい場合は、どうすればいいですか? – Nicsoft

+0

echo $ a1 | sudo -S apache2ctl -l graceful –

+0

ファイルを使って動作しないようにするには、パスワードを直接行に入力してください。これは正しい構文ではありません:exec Nicsoft

関連する問題