Manpages

名 前

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 を サ ポ ー ト し て い る シ ス テ ム で シ ス テ ム の パ ス ワ ー ド プ ロ ン プ ト に 置 き 替 わ る の は 、 sudoerspassprompt_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 ポ リ シ ー の 場 合 、 コ マ ン ド ラ イ ン で 渡 さ れ る 環 境 変 数 は 、 通 常 の 環 境 変 数 と 同 じ 制 限 の 対 象 に な る が 、 一 つ だ け 重 要 な 相 違 が あ る 。 sudoerssetenv オ プ シ ョ ン が 設 定 さ れ て い る か 、 実 行 す る コ マ ン ド に 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 が 要 求 さ れ て い な い 場 合 は 、 sudofork(2) を 最 初 に 呼 ぶ こ と を せ ず 、 直 接 コ マ ン ド を 実 行 す る 。 sudoers ポ リ シ ー ・ プ ラ グ イ ン で close 関 数 が 定 義 さ れ る こ と に な る の は 、 入 出 力 ロ ギ ン グ が 有 効 か 、 pty が 要 求 さ れ て い る か 、 pam_session ま た は pam_setcred が 有 効 な 場 合 だ け で あ る 。 PAM を 使 用 し て い る シ ス テ ム で は 、 デ フ ォ ル ト で pam_sessionpam_setcred が 有 効 に な る こ と に 注 意 し て い た だ き た い 。 (訳 注 : 上 記 の 「 特 殊 ケ ー ス と し て 」 以 下 に つ い て だ が 、 最 近 の sudo で は 、 sudoers ポ リ シ ー に お け る pam_sessionpam_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) モ ー ド で 使 用 す る デ フ ォ ル ト の エ デ ィ タ 。

MAIL

−i オ プ シ ョ ン が 指 定 さ れ た 場 合 や 、 sudoersenv_reset が 有 効 に な っ て い る 場 合 に は (env_keep の リ ス ト に MAIL が 存 在 し な い か ぎ り )、 変 身 対 象 ユ ー ザ の メ ー ル ス プ ー ル に セ ッ ト さ れ る 。

HOME

次 の 場 合 に は 、 変 身 対 象 ユ ー ザ の ホ ー ム デ ィ レ ク ト リ に セ ッ ト さ れ る 。 −i−H オ プ シ ョ ン が 指 定 さ れ た 場 合 、 −s オ プ シ ョ ン が 指 定 さ れ 、 か つ sudoersset_home が 設 定 さ れ て い る 場 合 、 always_set_homesudoers で 有 効 に な っ て い る 場 合 、 あ る い は 、 env_resetsudoers で 有 効 に な っ て い て 、 し か も HOMEenv_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