sudoコマンド

実行ユーザを指定する

 $ sudo -u nobody whoami
 nobody

uオプションを使う。

コマンドに標準出力を渡す

 $ echo "9 * 9" | sudo bc
 81

複数のコマンドを実行する

 $ sudo sh -c 'echo HELLO; echo WORLD'
 HELLO
 WORLD

シェルを起動し、cオプションで実行したいコマンドを記述する。

環境変数を指定する

 $ sudo date
 2012年 3月29日 木曜日 01時09分07秒 JST

通常は↑だが、↓のようにenvで環境変数を指定する。

 $ sudo env LC_ALL=C date
 Thu Mar 29 01:09:49 JST 2012

スイッチ先のユーザの環境変数を使う

 $ sudo -i env

DISPLAYとTERMを引き継ぎ、HOME, SHELL, USER, LOGNAME, PATHはスイッチ先のユーザの環境変数がセットされる。 sudo実行時に、実行時のユーザの環境変数が初期化されるOSの場合は、このオプションを使うと良い。(事前にrootユーザの環境変数を.bashrc等に記述しておく。)

sudoers

For example purposes, lets tweak the sudo permissions for apt-get. Now, scroll to the bottom, and we can insert our line:

Code:

 %admin ALL=(ALL)NOPASSWD:/usr/bin/apt-get

To break it down:

  • %admin - All users of the admin group
  • ALL= - from any Host/IP
  • (ALL) - can run as any user
  • NOPASSWD - with no password required
  • :/usr/bin/apt-get - the list of comma, separated, applications.

参考

man

http://linuxjm.sourceforge.jp/html/sudo/man8/sudo.8.html


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS

Last-modified: 2012-04-03 (火) 12:27:04