* sudoコマンド [#r8ed852a]

** 実行ユーザを指定する [#ta0dd61c]
 $ sudo -u nobody whoami
 nobody
uオプションを使う。

** コマンドに標準出力を渡す [#r1c3d981]
 $ echo "9 * 9" | sudo bc
 81

** 複数のコマンドを実行する [#y540af4f]
 $ sudo sh -c 'echo HELLO; echo WORLD'
 HELLO
 WORLD
シェルを起動し、cオプションで実行したいコマンドを記述する。


** 環境変数を指定する [#h3e6c58f]
 $ sudo date
 2012年 3月29日 木曜日 01時09分07秒 JST
通常は↑だが、↓のようにenvで環境変数を指定する。
 $ sudo env LC_ALL=C date
 Thu Mar 29 01:09:49 JST 2012
*** スイッチ先のユーザの環境変数を使う [#f53d658f]
 $ sudo -i env
DISPLAYとTERMを引き継ぎ、HOME, SHELL, USER, LOGNAME, PATHはスイッチ先のユーザの環境変数がセットされる。
sudo実行時に、実行時のユーザの環境変数が初期化されるOSの場合は、このオプションを使うと良い。(事前にrootユーザの環境変数を.bashrc等に記述しておく。)


** sudoers [#d267b1c1]

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.

*** 参考 [#z22b1d58]
- http://ubuntuforums.org/showthread.php?t=1132821
- http://x68000.q-e-d.net/~68user/unix/pickup?sudo

** man [#l650fd8b]
http://linuxjm.sourceforge.jp/html/sudo/man8/sudo.8.html

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