- 2007年5月17日 08:57
- Linux | プログラムミング その他
以下の方法は、サーバの運用方法とセキュリティを考慮して参考程度に。
一般ユーザが root(または別のユーザ) の権限を使ってコマンドを実行することができる sudo コマンドは、通常その対象ユーザのパスワードの入力を求められるが、PHPやPerlスクリプトなどで sudo を使いたい場合などはパスワードを知っていても入力できず実行ができない(対話式のため)。
system("sudo hogehoge");
この sudo コマンドのパスワード入力を解除する方法は、/etc/sudoers を編集するだけ。
/etc/sudoers
ただしこのファイルを編集するには当然 root 権限が必要なので、su で root になっておく必要がある(もしくは sudo )。
#vi /etc/sudoers root ALL=(ALL) ALL zaru ALL=(ALL) NOPASSWD:ALL #zaruユーザはパスワード入力を必要としない piyo ALL=(ALL) PASSWD:ALL #piyoユーザはパスワード必須
通常は、パスワード入力必須なので PASSWD とは記述しなくてもOK。パスワード入力を解除したいユーザにのみNOPASSWDを設定しよう。
記述ルール
この権限の記述ルールは単純。
- ユーザ ホスト = (権限) コマンド
ALLとすれば、全てのホスト・コマンド。/sbin/ とすれば /sbin/以下のコマンド。/sbin/shutdown とすれば shutdown コマンドを指定することができる。
- Newer: PHPに関するアンケート
- Older: カメラマン(仮)として撮影してきたので気をつけるべき要点をまとめ
Comments:1
- fujiyan 2009年2月23日 10:02
環境がなくて試せていませんが、こればできれば、一気に悩みが解消されます!
Trackbacks:0
- TrackBack URL for this entry
- http://blog.tofu-kun.org/mt-tb.cgi/318
- Listed below are links to weblogs that reference
- パスワード入力なしで sudo コマンドを実行する方法 from Webプログラマー+WebデザイナーなZARU日記
