名 前
sudo, sudoedit − コ マ ン ド を 他 の ユ ー ザ と し て 実 行 す る
書 式
sudo −h | −K | −k | −V
sudo −v [−AknS] [−g group] [−h host] [−p prompt] [−u user]
sudo −l [−AknS] [−g group] [−h host] [−p prompt] [−U user] [−u user] [command]
sudo [−AbEHnPS] [−C num] [−g group] [−h host] [−p prompt] [−r role] [−t type] [−u user] [VAR=value] [−i | −s] [command]
sudoedit [−AknS] [−C num] [−g group] [−h host] [−p prompt] [−u user] file ...
説 明
sudo を 使 用 す る と 、 許 可 さ れ た ユ ー ザ が 、 セ キ ュ リ テ ィ ポ リ シ ー の 設 定 の 範 囲 内 で 、 ス ー パ ー ユ ー ザ や 他 の ユ ー ザ に 変 身 し て 、 command を 実 行 す る こ と が 可 能 に な る 。 セ キ ュ リ テ ィ ポ リ シ ー へ の 問 い 合 わ せ は 、 ユ ー ザ 名 に よ っ て 行 わ れ る が 、 そ の ユ ー ザ 名 を 決 め る の は 、 sudo を 実 行 す る ユ ー ザ の 実 ユ ー ザ ID で あ っ て 、 実 効 ユ ー ザ ID で は な い 。
sudo は セ キ ュ リ テ ィ ポ リ シ ー と 入 出 力 の ロ ギ ン グ に つ い て 、 プ ラ グ イ ン 方 式 を サ ポ ー ト し て い る 。 従 っ て 、 サ ー ド パ ー テ ィ は 、 sudo フ ロ ン ト エ ン ド と シ ー ム レ ス に 協 働 す る ポ リ シ ー ・ プ ラ グ イ ン や 入 出 力 ロ ギ ン グ ・ プ ラ グ イ ン を 、 独 自 に 開 発 し て 配 布 す る こ と が で き る 。 デ フ ォ ル ト の セ キ ュ リ テ ィ ポ リ シ ー は sudoers で あ り 、 そ の 設 定 は 、 /etc/sudoers フ ァ イ ル 、 も し く は LDAP を 通 し て 行 わ れ る 。 詳 細 に つ い て は 、 「 プ ラ グ イ ン 」 セ ク シ ョ ン を 参 照 し て い た だ き た い 。 セ キ ュ リ テ ィ ポ リ シ ー は 、 あ る ユ ー ザ に sudo を 使 用 す る 権 限 が あ る か ど う か 、 あ る と す れ ば 、 ど ん な 権 限 を 持 っ て い る か を 決 定 す る 。 セ キ ュ リ テ ィ ポ リ シ ー は 、 ユ ー ザ に パ ス ワ ー ド や 他 の 認 証 方 法 を 使 っ て 、 本 人 で あ る こ と を 証 明 す る よ う に 要 求 す る こ と が で き る 。 認 証 が 必 要 な 場 合 、 ユ ー ザ が 自 分 の パ ス ワ ー ド を 、 設 定 に よ っ て 変 更 可 能 な 制 限 時 間 内 に 入 力 し な い と 、 sudo は 時 間 切 れ で 終 了 す る (訳 注 : sudo は デ フ ォ ル ト で は 、 root や 変 身 対 象 ユ ー ザ の パ ス ワ ー ド で は な く 、 sudo を 実 行 す る ユ ー ザ 本 人 の パ ス ワ ー ド を 要 求 す る )。 こ の 制 限 時 間 は ポ リ シ ー 次 第 で あ り 、 sudoers セ キ ュ リ テ ィ ポ リ シ ー の 場 合 、 パ ス ワ ー ド ・ プ ロ ン プ ト が タ イ ム ア ウ ト す る ま で の デ フ ォ ル ト の 時 間 は 、 5 分 間 で あ る 。 セ キ ュ リ テ ィ ポ リ シ ー は 、 一 定 時 間 内 な ら ユ ー ザ が 認 証 な し で sudo を 何 度 も 実 行 で き る よ う に 、 認 証 情 報 の 一 時 保 存 (credential caching) を サ ポ ー ト し て も よ い 。 sudoers ポ リ シ ー で は 、 sudoers(5) で 変 更 さ れ な い か ぎ り 、 認 証 情 報 を 5 分 間 保 持 す る 。 ユ ー ザ は sudo に −v を 付 け て 実 行 す る こ と で 、 command を 実 行 し な い で も 、 保 存 さ れ た 認 証 情 報 を 更 新 す る こ と が で き る 。
sudoedit
と い う コ マ ン
ド 名 で 起 動 す
る の は 、 sudo に
−e オ プ シ ョ ン
(下 記 参 照 ) を 付
け て 実 行 す る
の と 同 じ で あ
る 。 セ キ ュ リ
テ ィ ポ リ シ ー
は 、 ユ ー ザ が
sudo を 使 お う と
し て 成 功 し た
場 合 も 失 敗 し
た 場 合 も 、 そ
れ を ロ グ に 記
録 す る こ と が
で き る 。 入 出
力 プ ラ グ イ ン
が 設 定 さ れ て
い る 場 合 は 、
sudo 経 由 で 実 行
す る コ マ ン ド
の 入 出 力 も ロ
グ に 残 す こ と
が で き る 。 オ
プ シ ョ ン と し
て 以 下 の も の
が 使 用 で き る
。
−A, −−askpass 通 常
sudo が パ ス ワ ー
ド を 要 求 す る
と き 、 パ ス ワ
ー ド は ユ ー ザ
が 使 用 し て い
る 端 末 か ら 読
み 込 ま れ る 。
−A (askpass) オ プ シ
ョ ン を 指 定 す
る と 、 ヘ ル パ
ー ・ プ ロ グ ラ
ム (グ ラ フ ィ カ
ル な も の で も
よ い ) が 実 行 さ
れ 、 ユ ー ザ の
パ ス ワ ー ド を
読 み 込 ん で 、
そ れ を 標 準 出
力 に 書 き 出 す
。 環 境 変 数 SUDO_ASKPASS
が 設 定 さ れ て
い る と き は 、
そ れ が ヘ ル パ
ー ・ プ ロ グ ラ
ム の パ ス に な
る 。 そ れ 以 外
の 場 合 は 、 sudo.conf(5)
に askpass プ ロ グ ラ
ム を 指 定 し て
い る 行 が 存 在
す れ ば 、 そ の
値 が 使 用 さ れ
る 。 一 例 を 挙
げ よ う 。
# askpass
ヘ ル パ ー ・ プ
ロ グ ラ ム の パ
ス
Path askpass /usr/X11R6/bin/ssh−askpass 利
用 で き る askpass プ
ロ グ ラ ム が な
い と 、 sudo は エ
ラ ー メ ッ セ ー
ジ を 出 し て 、
終 了 す る 。
−a type, −−auth−type=type
/etc/login.conf で 使 用 可 に な っ て い れ ば 、 ユ ー ザ を 認 証 す る 際 に 指 定 さ れ た BSD の 認 証 方 法 type を 使 用 す る 。 シ ス テ ム 管 理 者 は 、 /etc/login.conf に "auth−sudo" エ ン ト リ を 追 加 す る こ と で 、 sudo 専 用 の 認 証 方 法 の リ ス ト を 指 定 す る こ と が で き る 。 こ の オ プ シ ョ ン は 、 BSD 認 証 を サ ポ ー ト す る シ ス テ ム で の み 使 用 で き る 。
−b,
−−background 指 定 さ
れ た コ マ ン ド
を バ ッ ク グ ラ
ウ ン ド で 実 行
す る 。 sudo 経 由
で 起 動 し た バ
ッ ク グ ラ ウ ン
ド ・ プ ロ セ ス
は 、 シ ェ ル の
ジ ョ ブ 制 御 を
使 っ て 操 作 で
き な い こ と に
注 意 し て い た
だ き た い 。 バ
ッ ク グ ラ ウ ン
ド モ ー ド で は
、 ほ と ん ど の
対 話 的 な コ マ
ン ド が う ま く
動 か な い だ ろ
う 。
−C num,
−−close−from=num コ
マ ン ド を 実 行
す る に 先 立 っ
て 、 num 以 上 の
番 号 の フ ァ イ
ル ・ デ ィ ス ク
リ プ タ を す べ
て ク ロ ー ズ す
る 。 3 未 満 の 値
は 指 定 で き な
い 。 デ フ ォ ル
ト で は 、 コ マ
ン ド を 実 行 す
る 際 に 、 sudo は
、 標 準 入 力 、
標 準 出 力 、 標
準 エ ラ ー 以 外
の 、 オ ー プ ン
し て い る す べ
て の フ ァ イ ル
・ デ ィ ス ク リ
プ タ を 閉 じ る
こ と に な っ て
い る 。 セ キ ュ
リ テ ィ ポ リ シ
ー は 、 ユ ー ザ
に よ る こ の オ
プ シ ョ ン の 使
用 を 制 限 す る
こ と が で き る
。 sudoers ポ リ シ ー
が −C オ プ シ ョ
ン の 使 用 を 許
可 す る の は 、
管 理 者 が
closefrom_override オ プ シ
ョ ン を 有 効 に
し て い る と き
の み で あ る 。
−c class,
−−login−class=class 指
定 さ れ た ロ グ
イ ン ク ラ ス class
の リ ソ ー ス ・
リ ミ ッ ト と ス
ケ ジ ュ ー リ ン
グ 優 先 度 で 、
コ マ ン ド を 実
行 す る 。 引 き
数 class に 使 用 で
き る の は 、
/etc/login.conf で 定 義 さ
れ た ク ラ ス 名
か 、 単 独 の
’−’ 文 字 の ど
ち ら か で あ る
。 class が − な
ら ば 、 変 身 対
象 ユ ー ザ の デ
フ ォ ル ト の ロ
グ イ ン ク ラ ス
が 使 用 さ れ る
こ と に な る 。
そ れ 以 外 の 場
合 は 、 コ マ ン
ド を ス ー パ ー
ユ ー ザ (ユ ー ザ ID
が 0) と し て 実 行
す る か 、 あ る
い は 、 す で に
ス ー パ ー ユ ー
ザ と し て 実 行
し て い る シ ェ
ル か ら sudo を 実
行 す る か の ど
ち ら か で な け
れ ば な ら な い
。 実 行 さ れ る
コ マ ン ド が ロ
グ イ ン ・ シ ェ
ル で あ る 場 合
は 、 umask や 環 境 変
数 と い っ た
/etc/login.conf の 他 の 設
定 も 、 存 在 す
れ ば 適 用 さ れ
る こ と に な る
。 こ の オ プ シ
ョ ン は BSD ロ グ イ
ン ク ラ ス を 採
用 し て い る シ
ス テ ム で の み
有 効 で あ る 。
−E, −−preserve−env
現 在 の 環 境 変
数 を そ の ま ま
保 持 す る の が
ユ ー ザ の 意 向
だ と 、 セ キ ュ
リ テ ィ ポ リ シ
ー に 指 示 す る
。 ユ ー ザ が 環
境 を 保 持 す る
許 可 を 持 っ て
い な い 場 合 は
、 セ キ ュ リ テ
ィ ポ リ シ ー が
エ ラ ー を 返 す
こ と に な る だ
ろ う 。
−e, −−edit 何 ら か の コ マ ン ド を 実 行 す る の で は な く 、
1 個 以 上 の フ ァ イ ル を
編 集 す る 。 セ キ ュ リ テ ィ ポ リ シ ー の 参 照 で は 、 コ マ ン ド の パ ス 名 の 代 わ り に "sudoedit" と い う 文 字 列 が 使 用 さ れ る 。 セ キ ュ リ テ ィ ポ リ シ ー に よ っ て ユ ー ザ に 権 限 が あ る こ と が 認 め ら れ る と 、 次 の こ と が 順 番 に 行 わ れ る 。
1. 編 集 対 象 の フ ァ イ ル の コ ピ ー を テ ン ポ ラ リ フ ァ イ ル と し て 作 成 す る 。 テ ン ポ ラ リ フ ァ イ ル の オ ー ナ ー は
sudo を 起 動 し た ユ ー ザ で あ る 。
2. セ キ ュ リ テ ィ ポ リ シ ー に よ っ て 指 定 さ れ た エ デ ィ タ を 起 動 し て 、 テ ン ポ ラ リ フ ァ イ ル を 編 集 す る 。
sudoers ポ リ シ ー で は 、 環 境 変 数 SUDO_EDITOR, VISUAL, EDITOR を (こ の 順 番 で ) 使 用 す る 。 SUDO_EDITOR, VISUAL, EDITOR の ど れ も 設 定 さ れ て い な い 場 合 は 、 sudoers(5) の editor オ プ シ ョ ン に リ ス ト さ れ た プ ロ グ ラ ム の う ち 、 最 初 の も の が 使 わ れ る 。
3. 編 集 作 業 が す む と 、 テ ン ポ ラ リ フ ァ イ ル を オ リ ジ ナ ル の フ ァ イ ル に コ ピ ー し て 、 テ ン ポ ラ リ フ ァ イ ル を 消 去 す る 。 編 集 す る 権 限 の な い フ ァ イ ル を 編 集 で き な い よ う に す る た め 、 セ キ ュ リ テ ィ ポ リ シ ー に よ っ て 明 示 的 に 許 可 さ れ て い な い か ぎ り 、 以 下 の 制 限 が 行 わ れ る 。
• シ ン ボ リ ッ ク リ ン ク の 編 集 は 許 可 し な い
(バ ー ジ ョ ン 1.8.15 以 上 )。
•
sudo を 実 行 す る の が root で あ る と き を 除 い て 、 編 集 す る フ ァ イ ル の パ ス 中 に シ ン ボ リ ッ ク リ ン ク が あ る 場 合 、 そ の リ ン ク の 親 デ ィ レ ク ト リ が sudo を 実 行 す る ユ ー ザ に と っ て 書 き 込 み 可 能 な ら ば 、 リ ン ク を た ど ら な い (バ ー ジ ョ ン 1.8.16 以 上 )。
•
sudo を 実 行 す る の が root で あ る と き を 除 い て 、 フ ァ イ ル が sudo を 実 行 す る ユ ー ザ に と っ て 書 き 込 み 可 能 な デ ィ レ ク ト リ に あ る 場 合 、 そ の フ ァ イ ル の 編 集 を 許 可 し な い (バ ー ジ ョ ン 1.8.16 以 上 )。
ユ ー ザ が デ バ イ ス ・ ス ペ シ ャ ル フ ァ イ ル の 編 集 を 許 可 さ れ る こ と は 絶 対 に な い 。 指 定 さ れ た フ ァ イ ル が 存 在 し な い 場 合 は 作 成 す る 。 こ こ で 注 意 す べ き は 、 sudo に よ っ て 実 行 さ れ る コ マ ン ド の 大 部 分 と 違 っ て 、 −e で エ デ ィ タ が 実 行 さ れ る と き は 、 sudo を 起 動 し た ユ ー ザ の 環 境 が 、 変 更 を 受 け ず に 使 わ れ る と い う こ と だ 。 何 ら か の 理 由 で sudo が 編 集 し た 内 容 で フ ァ イ ル を 更 新 で き な い と き は 、 ユ ー ザ に 警 告 を 発 し 、 編 集 し た 内 容 を テ ン ポ ラ リ フ ァ イ ル に 保 存 す る こ と に な る 。
−g group,
−−group=group コ マ
ン ド を 実 行 す
る と き 、 プ ラ
イ マ リ ・ グ ル
ー プ を パ ス ワ
ー ド ・ デ ー タ
ベ ー ス の 変 身
対 象 ユ ー ザ の
項 目 で 指 定 さ
れ て い る も の
で は な く 、 group
に 設 定 す る 。
group は 、 グ ル ー
プ 名 で も よ く
、 ’#’ 記 号 に グ
ル ー プ ID 番 号 (GID)
を 続 け た も の
で も よ い (た と
え ば 、 GID 0 な ら
#0)。 GID と し て コ マ
ン ド を 実 行 す
る 場 合 、 ほ と
ん ど の シ ェ ル
で は 、 ’#’ を バ
ッ ク ス ラ ッ シ
ュ (’\’) で エ ス
ケ ー プ す る 必
要 が あ る 。 な
お 、 −u オ プ シ
ョ ン が 指 定 さ
れ て い な い 場
合 、 コ マ ン ド
は sudo を 起 動 し
た ユ ー ザ の 資
格 で 実 行 さ れ
る 。 い づ れ に
し ろ 、 プ ラ イ
マ リ ・ グ ル ー
プ が group に 設 定
さ れ る こ と に
変 わ り は な い
。 (訳 注 : −g オ
プ シ ョ ン を 使
用 す る に は 、
sudoers ポ リ シ ー の
場 合 な ら 、 sudoers
フ ァ イ ル の ユ
ー ザ 設 定 で 、
変 身 対 象 と な
る グ ル ー プ を
設 定 し て お く
必 要 が あ る 。
詳 細 に つ い て
は 、 sudoers(5) の マ ニ
ュ ア ル の 該 当
個 所 を 参 照 し
て い た だ き た
い 。 )
−H, −−set−home
HOME 環 境 変 数 を 、 パ ス ワ ー ド ・ デ ー タ ベ ー ス の 変 身 対 象 ユ ー ザ の 項 目 で 、 ホ ー ム デ ィ レ ク ト リ と し て 指 定 さ れ て い る も の に 設 定 す る よ う に 、 セ キ ュ リ テ ィ ポ リ シ ー に 要 求 す る 。 ポ リ シ ー に よ っ て は 、 そ れ が デ フ ォ ル ト の 動 作 に な っ て い る こ と も あ る 。
−h, −−help 簡 単 な ヘ ル プ メ ッ セ ー ジ を 標 準 出 力 に 表 示 し て 、 終 了 す る 。
−h host, −−host=host セ キ ュ リ テ ィ ポ リ シ ー ・ プ ラ グ イ ン が リ モ ー ト ・ コ マ ン ド を サ ポ ー ト し て い る な ら 、 指 定 さ れ た host で コ マ ン ド を 実 行 す る 。 sudoers プ ラ グ イ ン は 、 現 在 の と こ ろ 、 リ モ ー ト ・ コ マ ン ド の 実 行 を サ ポ ー ト し て い な い こ と に 注 意 し て い た だ き た い 。 こ の オ プ シ ョ ン を −l オ プ シ ョ ン と 一 緒 に 使 え ば 、 リ モ ー ト ・ ホ ス ト に お け る ユ ー ザ の 権 限 の リ ス ト を 得 る こ と が で き る 。 (訳 注 : こ の オ プ シ ョ ン に つ い は 、 sudo_plugin(5) の マ ニ ュ ア ル の "Remote command execution" セ ク シ ョ ン も ご 覧 い た だ き た い 。 そ ち ら の 説 明 が 詳 し い 。 )
−i, −−login パ ス ワ ー ド ・ デ ー タ ベ ー ス の 変 身 対 象 ユ ー ザ の 項 目 で ロ グ イ ン ・ シ ェ ル と し て 指 定 さ れ て い る シ ェ ル を 実 行 す る 。 す な わ ち 、
.profile や
.login と い っ た ロ
グ イ ン 用 の リ
ソ ー ス ・ フ ァ
イ ル が 、 シ ェ
ル に よ っ て 読
み 込 ま れ る こ
と に な る 。 コ
マ ン ド を 指 定
す る と 、 そ れ
が シ ェ ル に 渡
さ れ 、 シ ェ ル
の −c オ プ シ ョ
ン を 使 っ て 実
行 さ れ る 。 コ
マ ン ド を 指 定
し な い 場 合 は
、 対 話 的 シ ェ
ル が 起 動 さ れ
る 。 sudo は 、 シ
ェ ル を 実 行 す
る 前 に 、 変 身
対 象 ユ ー ザ の
ホ ー ム デ ィ レ
ク ト リ に 移 動
し よ う と す る
。 コ マ ン ド の
実 行 は 、 ユ ー
ザ が 普 通 に ロ
グ イ ン し た と
き の 環 境 と ほ
ぼ 同 じ 環 境 で
行 わ れ る 。 sudoers
ポ リ シ ー を 使
用 し て い る 場
合 に 、 −i オ プ
シ ョ ン が コ マ
ン ド の 実 行 環
境 に ど ん な 影
響 を 与 え る か
に つ い て は 、
sudoers(5) の マ ニ ュ ア
ル の 「 コ マ ン
ド 環 境 」 セ ク
シ ョ ン に 説 明
が あ る 。
−K,
−−remove−timestamp
−k オ プ シ ョ ン に 似 て い る が 、 ユ ー ザ の 保 存 さ れ た 認 証 情 報 を 完 全 に 消 去 し て し ま う 点 と 、 コ マ ン ド や 他 の オ プ シ ョ ン と 組 み 合 わ せ て 使 え な い 点 が 異 な っ て い る 。 こ の オ プ シ ョ ン は パ ス ワ ー ド を 要 求 し な い 。 す べ て の セ キ ュ リ テ ィ ポ リ シ ー が 、 認 証 情 報 の 一 時 保 存 を サ ポ ー ト し て い る わ け で は な い 。
−k, −−reset−timestamp コ マ ン ド を 伴 わ ず に 使 用 し た 場 合 は 、 ユ ー ザ の 保 存 さ れ た 認 証 情 報 を 無 効 に す る 。 言 い 換 え る と 、 次 回 sudo を 実 行 す る と き に 、 パ ス ワ ー ド が 要 求 さ れ る と い う こ と だ 。 こ の オ プ シ ョ ン 自 体 は 、 パ ス ワ ー ド を 要 求 し な い 。 こ の オ プ シ ョ ン が 追 加 さ れ た の は 、 ユ ー ザ が .logout フ ァ イ ル で 、 sudo を パ ス ワ ー ド な し で 実 行 で き る 期 間 を 終 了 さ せ る こ と が で き る よ う に す る た め で あ る 。 コ マ ン ド や 、 パ ス ワ ー ド を 必 要 と す る よ う な 他 の オ プ シ ョ ン と 組 み 合 わ せ て 、 こ の オ プ シ ョ ン を 使 用 す る と 、 sudo が ユ ー ザ の 保 存 さ れ た 認 証 情 報 を 無 視 す る こ と に な る 。 そ の 結 果 、 sudo は (セ キ ュ リ テ ィ ポ リ シ ー が パ ス ワ ー ド を 要 求 す る な ら ば )、 プ ロ ン プ ト を 出 し て 、 パ ス ワ ー ド を 要 求 す る 。 こ の と き 、 ユ ー ザ の 保 存 さ れ た 認 証 情 報 の 更 新 は 行 わ れ な い 。 す べ て の セ キ ュ リ テ ィ ポ リ シ ー が 、 認 証 情 報 の 一 時 保 存 を サ ポ ー ト し て い る わ け で は な い 。
−l, −−list コ マ ン ド を 指 定 し な い 場 合 は 、
sudo を 実 行 し て い る ユ ー ザ (あ る
い は 、 −U オ プ シ ョ ン で 指 定 し た ユ ー ザ ) が 、 現 在 ロ グ イ ン し て い る ホ ス ト で 許 可 さ れ て い る (及 び 、 禁 じ ら れ て い る ) コ マ ン ド の リ ス ト を 表 示 す る 。 こ の オ プ シ ョ ン を 複 数 回 指 定 す る と 、 セ キ ュ リ テ ィ ポ リ シ ー が 詳 細 な 出 力 形 式 を サ ポ ー ト し て い れ ば 、 長 い 方 の リ ス ト 形 式 が 使 用 さ れ る 。 コ マ ン ド を 指 定 し た 場 合 は 、 そ の 実 行 が セ キ ュ リ テ ィ ポ リ シ ー に よ っ て 許 可 さ れ て い れ ば 、 コ マ ン ド の 絶 対 パ ス が 表 示 さ れ る 。 コ マ ン ド ラ イ ン で コ マ ン ド に 引 き 数 ま で 指 定 す る と (訳 注 : そ の 引 き 数 が 許 可 さ れ て い れ ば )、 そ れ も 一 緒 に 表 示 さ れ る 。 指 定 し た コ マ ン ド が 許 可 さ れ て い な い 場 合 は 、 sudo は ス テ ー タ ス 1 で 終 了 す る こ と に な る 。
−n,
−−non−interactive プ ロ
ン プ ト を 出 し
て ユ ー ザ に 入
力 を 求 め る こ
と を 一 切 し な
い 。 コ マ ン ド
を 実 行 す る の
に パ ス ワ ー ド
が 必 要 な 場 合
、 sudo は エ ラ ー
メ ッ セ ー ジ を
出 し て 、 終 了
す る こ と に な
る 。
−P, −−preserve−groups
sudo を 実 行 す る ユ ー ザ の 所 属 グ ル ー プ の リ ス ト を 、 変 更 せ ず に そ の ま ま 使 用 す る 。 デ フ ォ ル ト で は 、 sudoers ポ リ シ ー の 場 合 、 所 属 グ ル ー プ は 初 期 化 さ れ て 、 変 身 対 象 ユ ー ザ が 所 属 し て い る グ ル ー プ の リ ス ト が 使 わ れ る こ と に な っ て い る の で あ る 。 と は 言 え 、 実 グ ル ー プ ID と 実 効 グ ル ー プ ID が 、 変 身 対 象 ユ ー ザ と 同 一 に な る よ う に セ ッ ト さ れ る 点 に は 変 わ り が な い 。
−p prompt, −−prompt=prompt パ ス ワ ー ド プ ロ ン プ ト に 好 み の 文 字 列 を 使 用 す る 。 文 字 列 に は 、 エ ス ケ ー プ シ ー ケ ン ス が 使 用 で き る 。 sudoers で は 、 以 下 の パ ー セ ン ト (’%’) エ ス ケ ー プ シ ー ケ ン ス を サ ポ ー ト し て い る 。
%H ド メ イ ン 名 を 含 む ホ ス ト 名 に 展 開 さ れ る
(マ シ ン の ホ ス ト 名
が 完 全 修 飾 名 で あ る か 、 sudoers(5) で fqdn オ プ シ ョ ン が セ ッ ト さ れ て い る 場 合 に 有 効 )
%h ド メ イ ン 名 な し の ロ ー カ ル ホ ス ト 名 に 展 開
%p パ ス ワ ー ド を 要 求 さ れ て い る ユ ー ザ 名 に 展 開
(sudoers(5) の
rootpw, targetpw, runaspw フ ラ グ を 尊 重 す る )
%U 変 身 対 象 に な る ユ ー ザ
(−u オ プ シ ョ ン が 同 時 に 指 定 さ れ て い
な い と き は 、 root が デ フ ォ ル ト ) の ロ グ イ ン 名 に 展 開 さ れ る
%u
sudo を 起 動 す る ユ ー ザ の ロ グ イ ン 名 に 展 開 さ れ る
%%
連 続 す る 二 つ の ’%’ 文 字 は 、 1 個 の ’%’ 文 字 そ の も の を 意 味 す る 。 自 家 特 製 の プ ロ ン プ ト が 、 PAM を サ ポ ー ト し て い る シ ス テ ム で シ ス テ ム の パ ス ワ ー ド プ ロ ン プ ト に 置 き 替 わ る の は 、 sudoers で passprompt_override フ ラ グ が 無 効 に な っ て い な い 場 合 で あ る (訳 注 : sudoers(5) の passprompt_override の 項 も 参 照 し て い た だ き た い )。
−r role, −−role=role 指 定 さ れ た role を 含 む SELinux の セ キ ュ リ テ ィ ・ コ ン テ キ ス ト で コ マ ン ド を 実 行 す る 。
−S, −−stdin プ ロ ン プ ト を 標 準 エ ラ ー に 表 示 す る が 、 パ ス ワ ー ド の 読 み 込 み は 、 タ ー ミ ナ ル デ バ イ ス を 使 わ ず に 、 標 準 入 力 か ら 行 う 。 パ ス ワ ー ド は 、 末 尾 に 改 行 を 付 け な け れ ば な ら な い 。
−s, −−shell 環 境 変 数
SHELL が 設
定 さ れ て い れ
ば 、 そ の シ ェ
ル を 、 設 定 さ
れ て い な け れ
ば 、 パ ス ワ ー
ド ・ デ ー タ ベ
ー ス で sudo を 起
動 す る ユ ー ザ
の シ ェ ル と し
て 指 定 さ れ て
い る シ ェ ル を
実 行 す る 。 コ
マ ン ド が 指 定
さ れ て い る 場
合 は 、 そ れ を
シ ェ ル に 渡 し
、 シ ェ ル の −c
オ プ シ ョ ン を
使 っ て 実 行 す
る 。 コ マ ン ド
が 指 定 さ れ て
い な い 場 合 は
、 対 話 的 シ ェ
ル を 開 く 。
−t type,
−−type=type 指 定
さ れ た type を 含
む SELinux の セ キ ュ
リ テ ィ ・ コ ン
テ キ ス ト で コ
マ ン ド を 実 行
す る 。 type が 指
定 さ れ て い な
い 場 合 は 、 ロ
ー ル か ら デ フ
ォ ル ト の タ イ
プ を 推 測 す る
。
−U user,
−−other−user=user
sudo を 実 行 し て い る ユ ー ザ で は な く 、 user と い う ユ ー ザ の 権 限 の 一 覧 を 表 示 す る た め に 、 −l オ プ シ ョ ン と 組 み 合 わ せ て 使 用 す る 。 自 分 以 外 の ユ ー ザ の 権 限 の 表 示 は 、 セ キ ュ リ テ ィ ポ リ シ ー に よ っ て 禁 止 さ れ て い る か も し れ な い 。 sudoers ポ リ シ ー で こ の オ プ シ ョ ン の 使 用 が 認 め ら れ て い る の は 、 root ユ ー ザ を 別 に す れ ば 、 現 在 使 用 中 の ホ ス ト で 許 可 す る コ マ ン ド に ALL が 指 定 し て あ る ユ ー ザ だ け で あ る 。
−u user,
−−user=user コ マ
ン ド を デ フ ォ
ル ト の 変 身 対
象 ユ ー ザ (通 常
は root) 以 外 の ユ
ー ザ と し て 実
行 す る 。 user に
指 定 す る の は
、 ユ ー ザ 名 で
も よ く 、 ’#’ 記
号 を 頭 に 付 け
た ユ ー ザ ID 番 号
(UID) で も よ い (た と
え ば 、 UID が 0 な ら
、 #0 と 指 定 す る
)。 多 く の シ ェ
ル で は 、 UID の 資
格 で コ マ ン ド
を 実 行 す る に
は 、 ’#’ を バ ッ
ク ス ラ ッ シ ュ
(’\’) で エ ス ケ
ー プ し な け れ
ば な ら な い 。
セ キ ュ リ テ ィ
ポ リ シ ー に よ
っ て は 、 使 用
で き る UID を パ ス
ワ ー ド ・ デ ー
タ ベ ー ス に 登
録 さ れ て い る
も の に 限 定 し
て い る こ と も
あ る 。 sudoers ポ リ
シ ー で は 、 targetpw
オ プ シ ョ ン が
設 定 さ れ て い
な い か ぎ り 、
パ ス ワ ー ド ・
デ ー タ ベ ー ス
に 存 在 し な い UID
も 認 め て い る
。 他 の セ キ ュ
リ テ ィ ポ リ シ
ー で は 、 そ れ
は 許 さ れ な い
か も し れ な い
。
−V, −−version
sudo の バ ー ジ ョ ン 文 字 列 を 、 セ キ ュ リ テ ィ ポ リ シ ー ・ プ ラ グ イ ン や 入 出 力 プ ラ グ イ ン の バ ー ジ ョ ン 文 字 列 と と も に 表 示 す る 。 sudo を 実 行 す る ユ ー ザ が あ ら か じ め root に な っ て い る 場 合 は 、 sudo が ビ ル ド さ れ た と き に configure ス ク リ プ ト に 渡 さ れ た 引 き 数 が 表 示 さ れ る 。 プ ラ グ イ ン に つ い て は 、 デ フ ォ ル ト ・ オ プ シ ョ ン の よ う な よ り 詳 細 な 情 報 が 表 示 さ れ る か も し れ な い 。
−v, −−validate ユ ー ザ の 保 存 さ れ た 認 証 情 報 を 更 新 す る 。 こ の と き 、 必 要 な ら ば 、 ユ ー ザ の 認 証 を 行 う 。 sudoers プ ラ グ イ ン で は 、 こ の オ プ シ ョ ン に よ っ て sudo の タ イ ム ア ウ ト 時 間 が も う 5 分 間 (こ れ が デ フ ォ ル ト の タ イ ム ア ウ ト 時 間 ) 伸 び る が 、 こ の オ プ シ ョ ン が コ マ ン ド を 実 行 す る こ と は な い 。 す べ て の セ キ ュ リ テ ィ ポ リ シ ー が 認 証 情 報 の 一 時 保 存 に 対 応 し て い る わ け で は な い 。
−−
−− オ プ シ ョ ン が あ る と 、 sudo は そ こ で コ マ ン ド ラ イ ン 引 き 数 の 処 理 を や め る 。
さ ら に 、 コ マ ン ド の た め に 設 定 し た い 環 境 変 数 も 、 VAR=value、 た と え ば LD_LIBRARY_PATH=/usr/local/pkg/lib と い っ た 形 で コ マ ン ド ラ イ ン で 渡 す こ と が で き る 。 コ マ ン ド ラ イ ン で 渡 す 環 境 変 数 は 、 セ キ ュ リ テ ィ ポ リ シ ー ・ プ ラ グ イ ン に よ っ て 課 さ れ る 制 限 の 対 象 に な る 。 sudoers ポ リ シ ー の 場 合 、 コ マ ン ド ラ イ ン で 渡 さ れ る 環 境 変 数 は 、 通 常 の 環 境 変 数 と 同 じ 制 限 の 対 象 に な る が 、 一 つ だ け 重 要 な 相 違 が あ る 。 sudoers で setenv オ プ シ ョ ン が 設 定 さ れ て い る か 、 実 行 す る コ マ ン ド に SETENV タ グ が 付 い て い る か 、 あ る い は 、 マ ッ チ す る コ マ ン ド が ALL で あ る 場 合 は 、 ユ ー ザ は 他 の 状 況 な ら 禁 じ ら れ て い る よ う な 環 境 変 数 を 設 定 す る こ と が で き る の だ 。 詳 細 に つ い て は 、 sudoers(5) の マ ニ ュ ア ル を 参 照 し て い た だ き た い 。
コ マ ン ド の 実 行
sudo が コ マ ン ド を 実 行 す る と き 、 セ キ ュ リ テ ィ ポ リ シ ー に よ っ て コ マ ン ド の 実 行 環 境 が 設 定 さ れ る 。 た い て い の 場 合 、 実 ユ ー ザ 、 実 効 ユ ー ザ 、 実 グ ル ー プ 、 実 効 グ ル ー プ 、 及 び そ の ID 番 号 が 、 変 身 対 象 ユ ー ザ の 、 パ ス ワ ー ド ・ デ ー タ ベ ー ス に 記 載 さ れ て い る も の と 同 一 に な る よ う に セ ッ ト さ れ る 。 所 属 グ ル ー プ の リ ス ト も 、 (−P オ プ シ ョ ン が 指 定 さ れ て い な い か ぎ り ) グ ル ー プ ・ デ ー タ ベ ー ス に 基 づ い て 、 初 期 化 さ れ る 。 セ キ ュ リ テ ィ ポ リ シ ー は 、 以 下 の パ ラ メ ー タ を 設 定 す る こ と が で き る 。
• 実 ユ ー ザ
ID と 実 効 ユ ー ザ ID
• 実 グ ル ー プ
ID と 実 効 グ ル ー プ ID
• 補 助 グ ル ー
プ ID
• 環 境 の リ ス
ト
• カ レ ン ト ・
ワ ー
キ ン グ ・ デ ィ レ ク ト リ
• フ ァ イ ル 作 成 時 の モ ー ド ・ マ ス ク
(umask)
•
SELinux の role と type
•
Solaris の project
•
Solaris の privilege
•
BSD の ロ グ イ ン ク ラ ス (login class)
•
ス ケ ジ ュ ー リ ン グ 優 先 度 (nice value と も 言 う ) プ ロ セ ス ・ モ デ ル
sudo は 、 コ マ ン ド を 実 行 す る と き 、 ま ず fork(2) を 呼 び 、 実 行 環 境 を 上 記 の よ う に 設 定 し て か ら 、 子 プ ロ セ ス で execve シ ス テ ム コ ー ル を 呼 び 出 す 。 メ イ ン の sudo プ ロ セ ス は 、 コ マ ン ド が 完 了 す る ま で wait し 、 完 了 し た ら 、 コ マ ン ド の 終 了 ス テ ー タ ス を セ キ ュ リ テ ィ ポ リ シ ー の close 関 数 に 渡 し て か ら 、 終 了 す る 。 入 出 力 ロ ギ ン グ ・ プ ラ グ イ ン が 設 定 さ れ て い る 場 合 や 、 セ キ ュ リ テ ィ ポ リ シ ー が 明 示 的 に そ れ を 要 求 し て い る 場 合 は 、 擬 似 端 末 ("pty") が 新 規 に 作 成 さ れ 、 二 つ 目 の sudo プ ロ セ ス が 、 既 に 存 在 し て い る ユ ー ザ の pty と 、 コ マ ン ド が そ こ で 実 行 さ れ て い る 新 し い pty と の 間 で 、 ジ ョ ブ 制 御 シ グ ナ ル を 中 継 す る た め に 使 用 さ れ る 。 こ の 二 つ 目 の sudo プ ロ セ ス に よ っ て 、 た と え ば 、 コ マ ン ド の サ ス ペ ン ド や レ ジ ュ ー ム と い っ た こ と が 可 能 に な る の で あ る 。 こ の 仕 組 み が な け れ ば 、 コ マ ン ド は 、 POSIX で "orphaned process group" と 言 わ れ る 状 態 に 陥 り 、 ど ん な ジ ョ ブ 制 御 シ グ ナ ル も 受 け 取 れ な い こ と に な っ て し ま う だ ろ う 。 な お 、 特 殊 ケ ー ス と し て 次 の こ と が あ る 。 ポ リ シ ー ・ プ ラ グ イ ン が close 関 数 を 定 義 し て い ず 、 し か も 、 pty が 要 求 さ れ て い な い 場 合 は 、 sudo は fork(2) を 最 初 に 呼 ぶ こ と を せ ず 、 直 接 コ マ ン ド を 実 行 す る 。 sudoers ポ リ シ ー ・ プ ラ グ イ ン で close 関 数 が 定 義 さ れ る こ と に な る の は 、 入 出 力 ロ ギ ン グ が 有 効 か 、 pty が 要 求 さ れ て い る か 、 pam_session ま た は pam_setcred が 有 効 な 場 合 だ け で あ る 。 PAM を 使 用 し て い る シ ス テ ム で は 、 デ フ ォ ル ト で pam_session と pam_setcred が 有 効 に な る こ と に 注 意 し て い た だ き た い 。 (訳 注 : 上 記 の 「 特 殊 ケ ー ス と し て 」 以 下 に つ い て だ が 、 最 近 の sudo で は 、 sudoers ポ リ シ ー に お け る pam_session や pam_setcred の 有 効 /無 効 に 関 係 な く 、 pty が 要 求 さ れ て い な い 場 合 は 、 fork せ ず に 直 接 コ マ ン ド を 実 行 す る よ う で あ る 。 ) シ グ ナ ル の 処 理 コ マ ン ド が sudo プ ロ セ ス の 子 プ ロ セ ス と し て 実 行 さ れ て い る と き 、 sudo は 自 分 が 受 け 取 っ た シ グ ナ ル を そ の コ マ ン ド に 中 継 す る 。 た だ し 、 SIGINT や SIGQUIT シ グ ナ ル が 中 継 さ れ る の は 、 そ の コ マ ン ド が 新 た に 開 い た pty で 実 行 さ れ て い る と き か 、 シ グ ナ ル が カ ー ネ ル で は な く 、 ユ ー ザ ・ プ ロ セ ス に よ っ て 送 出 さ れ た と き だ け で あ る 。 そ う な っ て い る こ と で 、 ユ ー ザ が control−C を 入 力 す る た び に 、 コ マ ン ド が SIGINT シ グ ナ ル を 二 重 に 受 け 取 ら な い よ う に し て い る の だ 。 SIGSTOP や SIGKILL の よ う な い く つ か の シ グ ナ ル は 、 捕 獲 で き な い の で 、 コ マ ン ド に 中 継 さ れ る こ と も な い 。 だ か ら 、 sudo に よ っ て 実 行 さ れ て い る コ マ ン ド を サ ス ペ ン ド し た か っ た ら 、 原 則 と し て 、 SIGSTOP で は な く 、 SIGTSTP コ マ ン ド を 使 用 す る べ き で あ る 。
sudo は 原 則 と し て 、 自 分 が 受 け 取 っ た シ グ ナ ル を 子 プ ロ セ ス に 中 継 す る わ け だ が 、 自 分 が 実 行 し て い る コ マ ン ド か ら 来 た シ グ ナ ル は 、 中 継 し な い と い う 例 外 が あ る 。 コ マ ン ド が 意 図 に 反 し て 自 分 自 身 を 殺 し て し ま わ な い よ う に し て い る の だ 。 シ ス テ ム に よ っ て は 、 reboot(8) コ マ ン ド が 、 シ ス テ ム を リ ブ ー ト す る 前 に 、 自 分 自 身 を 除 く す べ て の ノ ン ・ シ ス テ ム ・ プ ロ セ ス に SIGTERM を 送 る も の が あ る 。 そ う し た 場 合 も 、 中 継 の 抑 制 が あ る た め 、 sudo は 自 分 が 受 け 取 っ た SIGTERM シ グ ナ ル を reboot(8) に 送 り 返 さ な い 。 も し 送 り 返 す よ う に な っ て い た ら 、 シ ス テ ム が 実 際 に リ ブ ー ト す る 前 に reboot(8) が 終 了 し て 、 シ ス テ ム が シ ン グ ル ユ ー ザ ・ モ ー ド に よ く 似 た 半 分 死 ん だ 状 態 (half−dead state) に 陥 っ て し ま う だ ろ う 。 と は 言 え 、 注 意 し て い た だ き た い が 、 こ の 中 継 の 抑 制 が 行 わ れ る の は 、 sudo に よ っ て 直 接 実 行 さ れ る コ マ ン ド に 対 し て の み で あ り 、 そ の コ マ ン ド が 生 成 す る か も し れ な い 他 の ど ん な プ ロ セ ス に 対 し て も 当 て は ま ら な い 。 そ れ 故 、 reboot(8) や shutdown(8) を 呼 び 出 す ス ク リ プ ト を sudo 経 由 で 実 行 す る と 、 シ ス テ ム が そ う し た わ け の わ か ら な い 状 態 に 陥 る こ と が あ る 。 reboot(8) や shutdown(8) の 実 行 に exec() フ ァ ミ リ ー の 関 数 で は な く 、 system() 関 数 を 使 用 し て い る と 、 (system() は 、 呼 び 出 し プ ロ セ ス と コ マ ン ド の 間 に シ ェ ル を 挟 む た め ) そ う し た こ と が 起 こ り か ね な い の だ 。 入 出 力 ロ ギ ン グ ・ プ ラ グ イ ン が ロ ー ド さ れ て い な い 場 合 に 、 ポ リ シ ー ・ プ ラ グ イ ン が close() 関 数 を 定 義 し て も い ず 、 コ マ ン ド の タ イ ム ア ウ ト を 設 定 し て い る こ と も な く 、 コ マ ン ド を 新 た に 開 い た pty で 実 行 す る こ と を 要 求 し て も い な か っ た な ら ば 、 sudo は 、 コ マ ン ド を 子 プ ロ セ ス と し て で は な く 、 直 接 実 行 す る か も し れ な い 。 プ ラ グ イ ン プ ラ グ イ ン は 、 sudo.conf(5) フ ァ イ ル の Plugin 命 令 (directive) で 指 定 す る こ と が で き る 。 プ ラ グ イ ン は 、 (シ ス テ ム が サ ポ ー ト し て い れ ば ) 動 的 な 共 有 オ ブ ジ ェ ク ト (dynamic shared object) と し て ロ ー ド す る こ と も で き る し 、 ま た 、 sudo の バ イ ナ リ に 直 接 組 み 込 む こ と も で き る 。 sudo.conf(5) フ ァ イ ル が 存 在 し な い 場 合 や 、 sudo.conf(5) フ ァ イ ル に Plugin の 行 が な い 場 合 は 、 sudo は 従 来 ど お り 、 sudoers の セ キ ュ リ テ ィ ポ リ シ ー と 入 出 力 ロ ギ ン グ を 使 用 す る こ と に な る 。 /etc/sudo.conf フ ァ イ ル の 詳 細 に つ い て は 、 sudo.conf(5) の マ ニ ュ ア ル を 参 照 し て い た だ き た い 。 sudo プ ラ グ イ ン の 設 計 に つ い て の 詳 し い 情 報 は 、 sudo_plugin(5) の マ ニ ュ ア ル に あ る 。
終 了 ス テ ー タ ス
コ マ ン ド の 実 行 に 成 功 し た 場 合 、 sudo が 返 す 終 了 ス テ ー タ ス は 、 実 行 し た プ ロ グ ラ ム の 終 了 ス テ ー タ ス で あ る 。 コ マ ン ド が シ グ ナ ル を 受 け 取 る こ と に よ っ て 終 了 し た 場 合 は 、 sudo は コ マ ン ド を 終 了 さ せ た シ グ ナ ル を 自 分 自 身 に 送 る よ う に な っ て い る 。 そ れ 以 外 の 場 合 、 設 定 や パ ー ミ ッ シ ョ ン に 問 題 が あ っ た り 、 sudo が 指 定 さ れ た コ マ ン ド を 実 行 で き な か っ た り し た と き は 、 sudo は 終 了 ス テ ー タ ス 1 で 終 了 す る 。 後 者 の 場 合 は 、 エ ラ ー メ ッ セ ー ジ が 標 準 エ ラ ー に 表 示 さ れ る 。 sudo が ユ ー ザ の PATH に あ る 一 つ 以 上 の エ ン ト リ を stat(2) で き な か っ た と き も 、 エ ラ ー が 標 準 エ ラ ー に 表 示 さ れ る (た だ し 、 PATH 中 の デ ィ レ ク ト リ が 存 在 し な か っ た と き や 、 実 際 に は デ ィ レ ク ト リ で な か っ た と き は 、 そ の エ ン ト リ は 無 視 さ れ 、 エ ラ ー は 表 示 さ れ な い )。 そ う い っ た こ と は 、 通 常 の 状 態 で は 起 き る は ず が な い こ と で あ る 。 stat(2) が "permission denied" を 返 す 理 由 で 一 番 よ く あ る の は 、 ユ ー ザ が オ ー ト マ ウ ン タ ー を 使 用 し て い て 、 PATH 中 の デ ィ レ ク ト リ の 一 つ が 目 下 到 達 不 可 能 な マ シ ン に あ る 場 合 だ 。
セ キ ュ リ テ ィ に 関 す る メ モ
sudo は 、 外 部 の コ マ ン ド を で き る だ け 安 全 に 実 行 し よ う と す る 。 偽 コ マ ン ド の 実 行 (command spoofing) を 防 止 す る た め 、 sudo は コ マ ン ド を 捜 し て ユ ー ザ の PATH を 検 索 す る 際 に 、 "." や "" (ど ち ら も カ レ ン ト ・ デ ィ レ ク ト リ を 意 味 す る ) を 最 後 に 調 べ る (そ の ど ち ら か 、 あ る い は 両 方 が 、 PATH 中 に 存 在 す れ ば だ が )。 と は 言 え 、 環 境 変 数 PATH そ の も の は 変 更 さ れ ず に 、 そ の ま ま sudo が 実 行 す る プ ロ グ ラ ム に 渡 さ れ る こ と に 注 意 し て い た だ き た い 。 次 の よ う な フ ァ イ ル を 実 行 す る sudo 権 限 を 、 絶 対 に ユ ー ザ に 許 可 し て は い け な い 。 す な わ ち 、 そ の ユ ー ザ に 書 き 込 み で き る フ ァ イ ル や 、 そ の ユ ー ザ に 書 き 込 み で き る デ ィ レ ク ト リ に あ る フ ァ イ ル を 実 行 す る 権 限 で あ る 。 も し 、 ユ ー ザ が コ マ ン ド を 書 き 換 え た り 、 別 の コ マ ン ド と 置 き 換 え た り で き る な ら ば 、 そ の ユ ー ザ は 自 分 が 実 行 で き る コ マ ン ド に 何 で も 追 加 で き る わ け で 、 そ れ を 制 限 す る 方 法 は ま っ た く な い の だ 。
sudo は 通 常 、 自 分 が 明 示 的 に 実 行 す る コ マ ン ド し か ロ グ に 記 録 し な い こ と に 注 意 し て い た だ き た い 。 ユ ー ザ が sudo su や sudo sh と い っ た コ マ ン ド を 実 行 し た 場 合 、 そ の シ ェ ル か ら さ ら に 実 行 さ れ る コ マ ン ド は 、 sudo の セ キ ュ リ テ ィ ポ リ シ ー の 対 象 に は な ら な い の だ 。 同 じ こ と が 、 シ ェ ル ・ エ ス ケ ー プ を 提 供 す る コ マ ン ド (た い て い の エ デ ィ タ ー が 、 そ れ に 含 ま れ る ) に つ い て も 言 え る 。 確 か に 、 入 出 力 ロ ギ ン グ が 有 効 に な っ て い る 場 合 は 、 シ ェ ル か ら さ ら に 実 行 さ れ る コ マ ン ド も 、 そ の 入 力 や 出 力 を 記 録 さ れ る こ と に な る が 、 従 来 か ら あ る ロ グ フ ァ イ ル に 記 録 さ れ る わ け で は な い の で あ る 。 従 っ て 、 ユ ー ザ に sudo 経 由 で 、 あ る コ マ ン ド を 実 行 す る 権 限 を 与 え る と き は 、 そ の コ マ ン ド が 事 実 上 ル ー ト ・ シ ェ ル を ユ ー ザ に う っ か り 与 え て い な い こ と を 、 念 に は 念 を 入 れ て 確 認 し な け れ ば な ら な い 。 も っ と 詳 し い こ と を お 知 り に な り た か っ た ら 、 sudoers(5) の マ ニ ュ ア ル の 「 シ ェ ル ・ エ ス ケ ー プ を 防 止 す る 」 と い う セ ク シ ョ ン を ご 覧 に な る と よ い 。 セ キ ュ リ テ ィ 上 問 題 に な り か ね な い 情 報 を 漏 洩 し な い よ う に 、 sudo は デ フ ォ ル ト で は 、 自 己 を 実 行 中 の コ ア ダ ン プ を 抑 止 し て い る (指 定 さ れ た コ マ ン ド を 実 行 す る と き に 、 コ ア ダ ン プ を 有 効 に し 直 す の だ )。 こ の 動 作 は 昔 か ら の も の で あ り 、 た い て い の オ ペ レ ー テ ィ ン グ シ ス テ ム が setuid プ ロ セ ス に デ フ ォ ル ト で は コ ア ダ ン プ を 許 し て い た 時 代 か ら そ う な っ て い た 。 sudo 自 体 の ク ラ ッ シ ュ を デ バ ッ グ す る た め に コ ア ダ ン プ を 有 効 に 戻 し た い な ら ば 、 以 下 の よ う に 、 sudo.conf(5) フ ァ イ ル で "disable_coredump" を false に す れ ば よ い 。
Set disable_coredump false 詳 細 に つ い て は 、 sudo.conf(5) の マ ニ ュ ア ル を 参 照 し て い た だ き た い 。
環 境 変 数
sudo は 以 下 の 環 境 変 数 を 利 用 す る 。 実 行 す る コ マ ン ド の 環 境 が 実 際 に ど う な る か は 、 セ キ ュ リ テ ィ ポ リ シ ー 次 第 で あ る 。
EDITOR 環 境 変 数
SUDO_EDITOR や VISUAL が 設 定 さ れ て い な い と
き 、 −e (sudoedit) モ ー ド で 使 用 す る デ フ ォ ル ト の エ デ ィ タ 。
−i オ プ シ ョ ン が 指 定 さ れ た 場 合 や 、 sudoers で env_reset が 有 効 に な っ て い る 場 合 に は (env_keep の リ ス ト に MAIL が 存 在 し な い か ぎ り )、 変 身 対 象 ユ ー ザ の メ ー ル ス プ ー ル に セ ッ ト さ れ る 。
HOME
次 の 場 合 に は 、 変 身 対 象 ユ ー ザ の ホ ー ム デ ィ レ ク ト リ に セ ッ ト さ れ る 。 −i や −H オ プ シ ョ ン が 指 定 さ れ た 場 合 、 −s オ プ シ ョ ン が 指 定 さ れ 、 か つ sudoers で set_home が 設 定 さ れ て い る 場 合 、 always_set_home が sudoers で 有 効 に な っ て い る 場 合 、 あ る い は 、 env_reset が sudoers で 有 効 に な っ て い て 、 し か も HOME が env_keep の リ ス ト に 存 在 し な い 場 合 。
LOGNAME
次 の 場
合 に は 、 変 身
対 象 ユ ー ザ の
ロ グ イ ン 名 に
セ ッ ト さ れ る
。 −i オ プ シ ョ
ン が 指 定 さ れ
た 場 合 、 set_logname
オ プ シ ョ ン が
sudoers で 有 効 に な
っ て い る 場 合
、 あ る い は 、
env_reset オ プ シ ョ
ン が sudoers で 有 効
に な っ て い て
、 LOGNAME が env_keep の リ
ス ト に 存 在 し
な い 場 合 。
PATH
セ キ ュ リ テ ィ ポ リ シ ー に よ っ て 上 書 き さ れ る か も し れ な い 。
SHELL
−s オ プ シ ョ ン で 起 動 す る シ ェ ル を 決 め る の に 使 用 す る 。
SUDO_ASKPASS
タ ー ミ
ナ ル が 利 用 で
き な い 場 合 や
、 −A オ プ シ ョ
ン が 指 定 さ れ
た 場 合 に 、 パ
ス ワ ー ド を 読
み 込 む の に 使
用 す る ヘ ル パ
ー ・ プ ロ グ ラ
ム の パ ス を 指
定 す る 。
SUDO_COMMAND
sudo が 実 行 す る コ マ ン ド に セ ッ ト さ れ る 。
SUDO_EDITOR
−e (sudoedit) モ ー ド で 使 用 す る デ フ ォ ル ト の エ デ ィ タ 。
SUDO_GID
sudo を 起 動 し た ユ ー ザ の グ ル ー プ ID に セ ッ ト さ れ る 。
SUDO_PROMPT
デ フ ォ ル ト の パ ス ワ ー ド ・ プ ロ ン プ ト と し て 使 用 す る 。
SUDO_PS1 設 定 す る と 、 実 行 さ れ る プ ロ グ ラ ム の
PS1 が こ の 変 数 の 値
に セ ッ ト さ れ る 。
SUDO_UID
sudo を 起 動 し た ユ ー ザ の ユ ー ザ ID に セ ッ ト さ れ る 。
SUDO_USER
sudo を 起 動 し た ユ ー ザ の ロ グ イ ン 名 に セ ッ ト さ れ る 。
USER
上 で 述
べ た LOGNAME と 同 じ
値 に セ ッ ト さ
れ る 。
USERNAME
USER と 同 じ 。
VISUAL
SUDO_EDITOR が 設 定 さ れ て い な い 場 合 に 、 −e (sudoedit) モ ー ド で 使 用 す る デ フ ォ ル ト の エ デ ィ タ 。
フ ァ イ ル
/etc/sudo.conf
sudo フ ロ ン ト エ ン ド の 設 定 フ ァ イ ル
用 例
注 意 : 以 下 の 例 は 、 セ キ ュ リ テ ィ ポ リ シ ー が 適 切 に 設 定 さ れ て い る こ と を 前 提 に し て い る 。 読 み 取 り 不 可 の デ ィ レ ク ト リ の フ ァ イ ル 一 覧 を 取 得 す る 。
$ sudo ls /usr/local/protected ユ ー ザ yaz の ホ ー ム デ ィ レ ク ト リ の フ ァ イ ル 一 覧 を 取 得 す る 。 た だ し 、 ~yaz を 含 む フ ァ イ ル シ ス テ ム が 、 別 の マ シ ン に あ っ て 、 root で ア ク セ ス で き る よ う に エ ク ス ポ ー ト さ れ て い な い 場 合 。
$ sudo −u yaz ls ~yaz ユ ー ザ www と し て index.html フ ァ イ ル を 編 集 す る 。
$ sudo −u www vi ~www/htdocs/index.html
root と adm グ ル ー プ の ユ ー ザ だ け が ア ク セ ス で き る シ ス テ ム ロ グ を 閲 覧 す る 。
$ sudo −g adm view /var/log/syslog
jim に 変 身 し て エ デ ィ タ を 実 行 す る 。 プ ラ イ マ リ グ ル ー プ に は 別 の グ ル ー プ を 指 定 す る 。
$ sudo −u jim −g audio vi ~jim/sound.txt マ シ ン を リ ブ ー ト す る 。
$ sudo shutdown −r +15 "quick reboot"
/home パ ー テ ィ シ ョ ン に 存 在 す る デ ィ レ ク ト リ の デ ィ ス ク 使 用 量 リ ス ト を 作 成 す る 。 cd や フ ァ イ ル ・ リ ダ イ レ ク シ ョ ン が き ち ん と 動 作 す る よ う に 、 コ マ ン ド を サ ブ シ ェ ル で 実 行 し て い る 点 に 注 目 し て い た だ き た い 。
$ sudo sh −c "cd /home ; du −s * | sort −rn > USAGE"
参 照 項 目
su(1), stat(2), passwd(5), sudo.conf(5), sudoers(5), sudo_plugin(5), sudoreplay(8), visudo(8)
履 歴
sudo の 簡 単 な 履 歴 に つ い て は 、 sudo の 配 布 に 含 ま れ て い る HISTORY フ ァ イ ル を ご 覧 い た だ き た い 。 (https://www.sudo.ws/history.html)
作 者
多 数 の 人 々 が 長 年 に 渡 っ て sudo の 開 発 に 携 わ っ て き た 。 当 バ ー ジ ョ ン は 主 と し て 次 の 者 が 書 い た コ ー ド か ら で き て い る 。
Todd C. Miller
sudo の 開 発 に 貢 献 し て く だ さ っ た 方 々 の 詳 細 な リ ス ト に つ い て は 、 配 布 物 中 の CONTRIBUTORS フ ァ イ ル を ご 覧 に な っ て い た だ き た い 。 (https://www.sudo.ws/contributors.html)
警 告
も し 、 ユ ー ザ が sudo 経 由 で 任 意 の コ マ ン ド を 実 行 す る こ と を 許 可 さ れ て い る な ら 、 そ の ユ ー ザ が ル ー ト ・ シ ェ ル を 手 に 入 れ る の を 防 止 す る 簡 単 な 方 法 は 存 在 し な い 。 ま た 、 (エ デ ィ タ を は じ め と す る ) 多 く の プ ロ グ ラ ム が 、 シ ェ ル ・ エ ス ケ ー プ を 通 し て ユ ー ザ が コ マ ン ド を 実 行 で き る よ う に し て お り 、 こ の 方 法 で ユ ー ザ は sudo に よ る チ ェ ッ ク を す り 抜 け る こ と が で き る 。 と は 言 え 、 た い て い の シ ス テ ム で は 、 sudoers(5) プ ラ グ イ ン の noexec 機 能 を 使 用 す る こ と で シ ェ ル エ ス ケ ー プ を 抑 止 す る こ と が 可 能 だ 。 下 記 の よ う に sudo 中 で 直 に cd コ マ ン ド を 実 行 し て も 意 味 が な い 。
$ sudo cd /usr/local/protected な ぜ な ら 、 こ の コ マ ン ド が 終 了 し た と き 、 そ の 親 プ ロ セ ス (す な わ ち 、 sudo を 実 行 し た シ ェ ル ) は 、 sudo を 実 行 す る 前 と 同 じ 状 態 に 戻 る か ら だ 。 cd に つ い て は 、 「 用 例 」 セ ク シ ョ ン も ご 覧 に な っ て い た だ き た い 。
sudo を 介 し て シ ェ ル ス ク リ プ ト を 実 行 す る と 、 あ る 種 の オ ペ レ ー テ ィ ン グ ・ シ ス テ ム で setuid シ ェ ル ス ク リ プ ト を 危 険 な も の に し て い る の と 同 一 の 、 カ ー ネ ル の バ グ が 表 面 化 す る お そ れ が あ る (使 用 し て い る OS に /dev/fd/ デ ィ レ ク ト リ が あ れ ば 、 setuid シ ェ ル ス ク リ プ ト は た い て い 安 全 で あ る )。
バ グ
sudo に バ グ を 発 見 し た と 思 っ た ら 、 https://bugzilla.sudo.ws/ に ア ク セ ス し て 、 バ グ レ ポ ー ト を 提 出 し て い た だ き た い 。
サ ポ ー ト
あ る 程 度 の 無 料 サ ポ ー ト が sudo−users メ ー リ ン グ リ ス ト を 通 し て 利 用 で き る 。 購 読 や ア ー カ イ ブ の 検 索 に は 、 次 の URL を 御 覧 に な る と よ い 。 https://www.sudo.ws/mailman/listinfo/sudo−users
免 責
sudo は 「 現 状 の ま ま 」 提 供 さ れ る 。 明 示 的 な 、 あ る い は 黙 示 的 な い か な る 保 証 も 、 商 品 性 や 特 定 目 的 へ の 適 合 性 に つ い て の 黙 示 的 な 保 証 を 含 め 、 ま た そ れ の み に 止 ま ら ず 、 こ れ を 否 認 す る 。 詳 細 な 全 文 に つ い て は 、 sudo と 一 緒 に 配 布 さ れ て い る LICENSE フ ァ イ ル や 、 次 の Web ペ ー ジ を ご 覧 い た だ き た い 。 https://www.sudo.ws/license.html