管理者コマンドの実行
特定のユーザに権限を与える
/etc/sudoersに以下の一行を追加します(usernameは任意のユーザ名)。このファイルは直接編集せず、visudoコマンドを使用して下さい。
username ALL = NOPASSWD: ALL
パスワードの入力を求められることなく、(root権限で)任意のコマンドを実行できるようになります。rootだけでなく、任意のユーザ権限で実行したい場合は、以下のように記述します。
username ALL =(root,tomcat) NOPASSWD: ALL
crontabなどでsudoを実行したい場合は、以下の行をコメントアウトします。
#Defaults requiretty
以下のような否定形の記述も可能です。
Defaults:username !requiretty
一般ユーザで管理コマンドを実行する
sudoerの設定が済んでいれば、以下の例のようにsudoコマンドを使用して任意のコマンドを実行することが可能になります。
$ sudo shutdown -h now
任意のユーザを指定する場合は、「-u」オプションを利用します。
:$ sudo -u tomcat ls webapps
リダイレクトの代替
sudoを使用しているとリダイレクトがうまく動きません。リダイレクト先のファイルには現在のユーザ権限で書き込みに行ってしまうようです。
$ sudo echo 'foo' >> /path/to/file # 動作しない
そこで、リダイレクトの代わりにパイプとteeコマンドを利用して以下のようにしてやると上手く動くようです。
$ echo 'foo' | sudo tee -a /path/to/file
参考URL
この記事は役に立ちましたか?
- EnglishWorm.com
- SinglesFan.com
- LmLab.net
- サイトマップ
- 運営者について