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