眠る開発屋blog ある開発屋の雑感。日々勉強。

2007/10/12 金曜日

system(‘sudo -u hoge cat /tmp/hoge’)とか

Filed under: 技術メモ — dev0000 @ 14:21:06

CentOS5+Apache+PHP で、visudo で apacheに権限を追加してにも関わらず、

system(‘sudo -u hoge cat /tmp/hoge’)

が全く動作しなかったわけだが、

/var/log/httpd/error_log:
sudo: sorry, you must have a tty to run sudo

というエラーが出ている場合、こういうことらしい。
sudo

ttyを持っていない状態でsudoをすると sorry, you must have a tty to run sudo と文句を言われる。daemonとかがそう。回避方法は↓に書いてます。 /etc/sudoers の requiretty 部分をコメントアウトする。

確かにコメントアウトしたらうまくいった。
(CentOS5インストール時のままだと動作しない)

Powered by WordPress