Manpages

名 前

sudoers − sudo の デ フ ォ ル ト の セ キ ュ リ テ ィ ポ リ シ ー ・ プ ラ グ イ ン

説 明

sudoers ポ リ シ ー ・ プ ラ グ イ ン は 、 ユ ー ザ に ど ん な sudo 権 限 が あ る か を 決 定 す る 。 こ の プ ラ グ イ ン が sudo の デ フ ォ ル ト の ポ リ シ ー ・ プ ラ グ イ ン で あ る 。 ポ リ シ ー の 運 用 は /etc/sudoers フ ァ イ ル に よ っ て 行 わ れ る が 、 LDAP を 使 用 す る こ と も 可 能 で あ る 。 ポ リ シ ー を 設 定 す る と き の 書 式 は 、 「 SUDOERS フ ァ イ ル の 書 式 」 セ ク シ ョ ン で 詳 し く 説 明 し て い る 。 sudoers ポ リ シ ー の 情 報 を LDAP に 格 納 す る こ と に つ い て は 、 sudoers.ldap(5) を ご 覧 い た だ き た い 。

sudoers ポ リ シ ー ・ プ ラ グ イ ン を 使 う た め の sudo.conf の 設 定
sudo
sudo.conf(5) フ ァ イ ル を 参 照 し て 、 ど の ポ リ シ ー ・ プ ラ グ イ ン と 入 出 力 ロ ギ ン グ ・ プ ラ グ イ ン を ロ ー ド す る か を 決 め る 。 sudo.conf(5) フ ァ イ ル が 存 在 し な い 場 合 や 、 存 在 し て も Plugin 行 を 含 ま な い 場 合 は 、 sudoers プ ラ グ イ ン が ポ リ シ ー の 決 定 や 入 出 力 ロ ギ ン グ に 使 用 さ れ る こ と に な る 。 sudoers プ ラ グ イ ン を 使 用 す る よ う に 明 示 的 に 設 定 す る に は 、 sudo.conf(5) に 次 の よ う 書 き 込 め ば よ い 。

Plugin sudoers_policy sudoers.so
Plugin sudoers_io sudoers.so

sudo 1.8.5 以 来 、 sudoers プ ラ グ イ ン に 対 す る 任 意 の 引 き 数 を sudo.conf(5) で 指 定 す る こ と が 可 能 に な っ て い る 。 そ う し た 引 き 数 が 存 在 す る 場 合 は 、 プ ラ グ イ ン の パ ス の 後 ろ に 続 け る こ と に な る (す な わ ち 、 sudoers.so の 後 ろ だ )。 引 き 数 が い く つ も あ る と き は 、 ホ ワ イ ト ス ペ ー ス で 区 切 っ て 指 定 す れ ば よ い 。 一 例 を 挙 げ る 。

Plugin sudoers_policy sudoers.so sudoers_mode=0400 以 下 の プ ラ グ イ ン に 対 す る 引 き 数 が 使 用 で き る 。

ldap_conf=pathname

ldap_conf 引 き 数 を 使 用 す る と 、 ldap_conf フ ァ イ ル の パ ス を デ フ ォ ル ト の も の か ら 変 更 す る こ と が で き る 。

ldap_secret=pathname

ldap_secret 引 き 数 を 使 用 す る と 、 ldap_secret フ ァ イ ル の パ ス を デ フ ォ ル ト の も の か ら 変 更 す る こ と が で き る 。

sudoers_file=pathname

sudoers_file 引 き 数 を 使 用 す る と 、 sudoers フ ァ イ ル の パ ス を デ フ ォ ル ト の も の か ら 変 更 す る こ と が で き る 。

sudoers_uid=uid

sudoers_uid 引 き 数 を 使 用 す る と 、 sudoers フ ァ イ ル の 所 有 者 を デ フ ォ ル ト の も の か ら 変 更 す る こ と が で き る 。 指 定 に は 、 ユ ー ザ ID 番 号 を 使 う べ き で あ る 。

sudoers_gid=gid

sudoers_gid 引 き 数 を 使 用 す る と 、 sudoers フ ァ イ ル の グ ル ー プ を デ フ ォ ル ト の も の か ら 変 更 す る こ と が で き る 。 指 定 に は 、 グ ル ー プ ID 番 号 を 使 用 し な け れ ば な ら な い (グ ル ー プ 名 で は な い )。

sudoers_mode=mode

sudoers_mode 引 き 数 を 使 用 す る と 、 sudoers フ ァ イ ル の フ ァ イ ル ・ モ ー ド を デ フ ォ ル ト の も の か ら 変 更 す る こ と が で き る 。 指 定 に は 、 8 進 数 の 値 を 使 う べ き で あ る 。

sudo.conf(5) の 設 定 に つ い て さ ら に 詳 し い こ と を お 知 り に な り た か っ た ら 、 sudo.conf(5) の マ ニ ュ ア ル を ご 覧 に な っ て い た だ き た い 。 ユ ー ザ の 認 証
sudoers
セ キ ュ リ テ ィ ポ リ シ ー で は 、 ユ ー ザ は た い て い の 場 合 、 本 人 で あ る こ と を 証 明 し て か ら で な け れ ば 。 sudo を 使 用 で き な い 。 た だ し 、 sudo の 実 行 者 が root だ っ た り 、 変 身 対 象 ユ ー ザ が sudo の 実 行 者 と 同 一 で あ っ た り 、 ポ リ シ ー が そ の 実 行 者 や コ マ ン ド に 対 し て 認 証 を 免 除 し て い る 場 合 は 、 パ ス ワ ー ド が 要 求 さ れ る こ と は な い 。 su(1) と は 違 っ て 、 sudoers ポ リ シ ー が 認 証 に 当 た っ て チ ェ ッ ク す る の は 、 sudo を 実 行 す る ユ ー ザ の 認 証 情 報 (訳 注 : 通 常 は パ ス ワ ー ド ) で あ っ て 、 変 身 対 象 ユ ー ザ の (あ る い は 、 root の ) 認 証 情 報 で は な い 。 こ の 動 作 は 、 後 述 す る rootpw, targetpw, runaspw フ ラ グ に よ っ て 変 更 す る こ と が で き る 。 ポ リ シ ー に 登 録 さ れ て い な い ユ ー ザ が sudo を 使 っ て 、 コ マ ン ド を 実 行 し よ う と す る と 、 し か る べ き 権 威 者 に メ ー ル が 送 付 さ れ る 。 そ う し た メ ー ル の 宛 先 は 、 後 述 す る 「 デ フ ォ ル ト 設 定 」 の mailto 行 に よ っ て 設 定 で き る が 、 デ フ ォ ル ト で は root に な っ て い る 。

sudo を 使 用 す る 権 限 の な い ユ ー ザ が 、 −l−v オ プ シ ョ ン を 付 け て sudo の 実 行 を 試 み て も 、 認 証 に 失 敗 し 、 し か も mail_always ま た は mail_badpass フ ラ グ が 有 効 に な っ て い る 場 合 を 除 い て 、 メ ー ル は 送 付 さ れ な い こ と に 注 意 し て い た だ き た い 。 そ う し た 動 作 に な っ て い る こ と で 、 ユ ー ザ と し て は 、 自 分 が sudo を 使 用 で き る か ど う か 、 自 分 で 判 断 で き る わ け で あ る 。 sudo 実 行 の 試 み は (成 功 、 失 敗 に か か わ ら ず )、 す べ て ロ グ に 記 録 さ れ る 。 メ ー ル が 送 ら れ る か ど う か に は 関 係 が な い 。

sudo が root に よ っ て 実 行 さ れ た と き 、 環 境 変 数 SUDO_USER が 設 定 さ れ て い る と 、 sudoers ポ リ シ ー は 、 実 際 の ユ ー ザ が 誰 か を 判 断 す る の に 、 そ の 値 を 使 用 す る こ と に な る 。 ユ ー ザ と し て は 、 こ の 動 作 を 利 用 す る こ と で 、 す で に ル ー ト シ ェ ル を 起 動 し て い る 場 合 で も 、 自 分 が sudo を 介 し て 実 行 し た コ マ ン ド の ロ グ を 取 る こ と が で き る 。 ま た 、 こ の 動 作 の お か げ で 、 sudo で 実 行 す る ス ク リ プ ト や プ ロ グ ラ ム か ら 呼 び 出 さ れ る 場 合 で さ え 、 −e オ プ シ ョ ン が 役 に 立 つ も の に な っ て い る 。 た だ し 、 そ う し た 場 合 で も 、 sudoers フ ァ イ ル の 参 照 は や は り root に 対 し て な さ れ る の で あ っ て 、 SUDO_USER が 指 定 し て い る ユ ー ザ に 対 し て で は な い こ と に 注 意 し て い た だ き た い 。

sudoers は 、 認 証 情 報 の 一 時 保 存 (credential caching) に ユ ー ザ ご と の タ イ ム ス タ ン プ ・ フ ァ イ ル を 使 用 す る 。 ユ ー ザ の 認 証 が 済 む と 、 記 録 が 書 き 込 ま れ る が 、 そ れ に は 、 認 証 に 使 用 さ れ た uid、 端 末 セ ッ シ ョ ン ID、 タ イ ム ス タ ン プ (利 用 で き る な ら ば 、 単 調 増 加 時 計 (monotonic clock) を 使 用 す る ) が 含 ま れ て い る 。 ユ ー ザ は 、 そ の 後 し ば ら く の 間 (timestamp_timeout オ プ シ ョ ン に よ っ て 変 更 さ れ て い な け れ ば 、 5 分 間 )、 パ ス ワ ー ド な し で sudo を 使 う こ と が で き る 。 sudoers は デ フ ォ ル ト で は 、 各 tty ご と に 別 の 記 録 を 使 用 す る 。 そ こ で 、 認 証 は 、 ユ ー ザ の ロ グ イ ン ・ セ ッ シ ョ ン ご と に 独 立 し て 行 わ れ る こ と に な る 。 tty_tickets オ プ シ ョ ン を 無 効 に す れ ば 、 あ る ユ ー ザ の す べ て の セ ッ シ ョ ン に 対 し て 、 単 一 の タ イ ム ス タ ン プ の 使 用 を 強 制 す る こ と が で き る 。 ロ ギ ン グ
sudoers
sudo の 実 行 が 成 功 し た と き も 失 敗 し た と き も 、 そ の 旨 を (エ ラ ー の 内 容 と と も に ) syslog(3) や 独 自 の フ ァ イ ル 、 あ る い は そ の 両 方 に 記 録 す る こ と が で き る 。 sudoers は デ フ ォ ル ト で は 、 syslog(3) 経 由 で ロ グ を 記 録 す る こ と に な っ て い る が 、 こ の 動 作 は デ フ ォ ル ト 設 定 の sysloglogfile を 使 っ て 変 更 す る こ と が で き る 。 ロ グ フ ァ イ ル の 書 式 に つ い て は 、 「 ロ グ の 書 式 」 セ ク シ ョ ン の 説 明 を ご 覧 い た だ き た い 。 ま た sudoers は 、 擬 似 tty で コ マ ン ド を 実 行 し て 、 す べ て の 入 力 や 出 力 を ロ グ に 記 録 す る こ と も で き る 。 標 準 入 力 、 標 準 出 力 、 標 準 エ ラ ー が 端 末 と 結 び つ い て い な い 場 合 で さ え 、 そ れ を ロ グ に 記 録 す る こ と が で き る の だ 。 入 出 力 ロ ギ ン グ は 、 デ フ ォ ル ト で は ON に な っ て い な い が 、 log_inputlog_output オ プ シ ョ ン を 使 っ て 有 効 に す る こ と が で き る 。 コ マ ン ド ・ タ グ の LOG_INPUT や LOG_OUTPUT を 使 用 し て 有 効 に す る こ と も 可 能 だ 。 入 出 力 ロ グ フ ァ イ ル が ど ん な ふ う に 格 納 さ れ る か に つ い て は 、 「 入 出 力 ロ グ フ ァ イ ル 」 セ ク シ ョ ン に 詳 細 な 説 明 が あ る 。 コ マ ン ド 環 境 環 境 変 数 は プ ロ グ ラ ム の 動 作 に 影 響 を 与 え る こ と が あ る の で 、 sudoers は 、 実 行 さ れ る コ マ ン ド が ユ ー ザ の 環 境 か ら ど ん な 変 数 を 引 き 継 ぐ か に つ い て 、 制 御 す る 手 段 を 用 意 し て い る 。 す な わ ち 、 sudoers は 二 つ の 異 な っ た 方 法 で 、 環 境 変 数 を 処 理 す る こ と が で き る 。 デ フ ォ ル ト で は env_reset オ プ シ ョ ン が 有 効 に な っ て い る 。 こ の 場 合 、 コ マ ン ド は 新 し い 、 最 小 の 環 境 で 実 行 さ れ る こ と に な る 。 ATX (及 び PAM を 使 用 し て い な い Linux シ ス テ ム ) で は 、 /etc/environment フ ァ イ ル の 内 容 で 環 境 が 初 期 化 さ れ る 。 新 し い 環 境 に は 、 TERM, PATH, HOME, MAIL, SHELL, LOGNAME, USER, USERNAME, 及 び SUDO_* と い う 変 数 、 そ れ に 、 呼 び 出 し 側 の プ ロ セ ス か ら 来 た 変 数 で 、 env_checkenv_keep オ プ シ ョ ン に よ っ て 許 可 さ れ た も の が 含 ま れ て い る 。 こ れ は 、 言 わ ば 、 環 境 変 数 の ホ ワ イ ト リ ス ト で あ る 。 値 が () で 始 ま る 環 境 変 数 は 、 変 数 名 と 値 の 両 方 が env_keepenv_check の 指 定 に マ ッ チ し な い か ぎ り 、 除 去 さ れ る が 、 そ れ は 、 bash シ ェ ル の 古 い バ ー ジ ョ ン で は 関 数 と 解 釈 さ れ る こ と に な る か ら で あ る 。 1.8.11 よ り 前 の バ ー ジ ョ ン で は 、 そ う し た 変 数 は 無 条 件 で 除 去 さ れ て い た 。 こ れ に 対 し て 、 env_reset オ プ シ ョ ン が 無 効 に な っ て い る 場 合 は 、 env_checkenv_delete オ プ シ ョ ン に よ っ て 明 示 的 に 拒 否 さ れ て い な い か ぎ り 、 い か な る 環 境 変 数 も 呼 び 出 し 側 の プ ロ セ ス か ら 継 承 さ れ る 。 こ の 場 合 、 env_checkenv_delete は 、 ブ ラ ッ ク リ ス ト の よ う に 振 る 舞 う わ け だ 。 値 が () で 始 ま る 環 境 変 数 は 、 ブ ラ ッ ク リ ス ト の 一 つ に マ ッ チ し な い 場 合 で も 、 必 ず 除 去 さ れ る 。 危 険 性 の あ る 環 境 変 数 の す べ て を ブ ラ ッ ク リ ス ト に 載 せ る こ と は 不 可 能 な の で 、 env_reset を 有 効 に し て お く デ フ ォ ル ト の 動 作 を 採 用 す る こ と を お 勧 め す る 。 デ フ ォ ル ト で は 、 環 境 変 数 の マ ッ チ は 変 数 名 に よ っ て 行 わ れ る 。 し か し な が ら 、 マ ッ チ に 使 わ れ る パ タ ー ン に 等 号 (’=’) が 含 ま れ る 場 合 は 、 変 数 名 と 値 の 両 方 が マ ッ チ し な け れ ば な ら な い 。 た と え ば 、 旧 式 の (shellshock 問 題 以 前 の export 方 法 に よ る ) bash の シ ェ ル 関 数 に マ ッ チ さ せ る な ら ば 、 次 の よ う に 指 定 す れ ば よ い だ ろ う 。

env_keep += "my_func=()*" 旧 式 の bash の シ ェ ル 関 数 は 、 デ フ ォ ル ト で は 保 存 さ れ な い の で 、 "=()*" と い う 後 続 部 分 が な か っ た ら 、 こ う し た 環 境 変 数 は マ ッ チ し な い こ と に な る 。

[訳 注 ]:

shellshock 以 前 の bash で は 、 た と え ば "my_func=’() { ls −F; }’" と い っ た シ ェ ル 変 数 を export す る こ と で 、 my_func と い う 関 数 を サ ブ シ ェ ル に 渡 す こ と が で き た 。 shellshock 以 後 の bash で は 、 こ の 方 法 に よ る 関 数 の 継 承 は で き な く な り 、 値 が "() { ls −F; }" で あ る my_func と い う 変 数 が 、 渡 さ れ る だ け に な っ て い る 。 だ か ら 、 sudoers フ ァ イ ル の Defaults 行 に 上 の よ う に 書 い て も 、 shellshock 以 後 の bash を 使 っ て い る か ぎ り 、 my_func と い う 環 境 変 数 が 保 存 さ れ る だ け で 、 関 数 が 渡 さ れ る わ け で は な い 。

sudo が 許 可 、 ま た は 拒 否 す る 環 境 変 数 す べ て の リ ス ト は 、 "sudo −V" を root の 資 格 で 実 行 し た と き の 出 力 中 に 含 ま れ て い る 。 こ の リ ス ト は 、 sudo が 実 行 さ れ る オ ペ レ ー テ ィ ン グ シ ス テ ム に よ っ て 異 な る こ と に 気 を つ け て い た だ き た い 。

PAM を サ ポ ー ト し て い る シ ス テ ム で 、 pam_env モ ジ ュ ー ル が sudo に 対 し て 有 効 に な っ て い る と 、 PAM の 管 理 す る 環 境 に あ る 変 数 が 、 環 境 に マ ー ジ さ れ る こ と に な る だ ろ う 。 た だ し 、 PAM 環 境 に あ る 変 数 が ユ ー ザ の 環 境 に す で に 存 在 し て い る 場 合 に 、 そ の 値 が 上 書 き さ れ る こ と に な る の は 、 そ の 変 数 が sudoers に よ っ て 保 存 さ れ て い な い と き だ け で あ る 。 す な わ ち 、 env_reset が 有 効 に な っ て い る と き は 、 env_keep の リ ス ト に よ っ て sudo を 実 行 す る ユ ー ザ の 環 境 か ら 保 存 さ れ た 変 数 が 、 PAM 環 境 に あ る 変 数 よ り 優 先 さ れ る 。 ま た 、 env_reset が 無 効 に な っ て い る と き は 、 sudo を 実 行 す る ユ ー ザ の 環 境 に あ る 変 数 が 、 env_delete の リ ス ト の パ タ ー ン に マ ッ チ し て い な い か ぎ り 、 PAM 環 境 に あ る 変 数 よ り も 優 先 さ れ る の で あ る 。 た い て い の オ ペ レ ー テ ィ ン グ シ ス テ ム の ダ イ ナ ミ ッ ク ・ リ ン カ は 、 ダ イ ナ ミ ッ ク ・ リ ン キ ン グ を 制 御 す る 働 き が あ る 環 境 変 数 を 、 sudo も そ の 一 つ で あ る setuid 実 行 フ ァ イ ル の 環 境 か ら 除 去 す る よ う に な っ て い る こ と に 注 意 し て い た だ き た い 。 オ ペ レ ー テ ィ ン グ シ ス テ ム に よ っ て 名 前 は 様 々 だ が 、 _RLD*, DYLD_*, LD_*, LDR_*, LIBPATH, SHLIB_PATH な ど が 、 こ の 範 疇 に 含 ま れ る だ ろ う 。 そ う し た 変 数 は 、 sudo の 実 行 が 始 ま る よ り も 前 に 、 環 境 か ら 除 去 さ れ る の で 、 sudo が そ う し た 変 数 を 保 存 す る こ と は 不 可 能 で あ る 。 特 例 と し て 、 sudo−i (initial login) オ プ シ ョ ン が 指 定 さ れ て い る 場 合 は 、 sudoersenv_reset の 有 効 ・ 無 効 に か か わ ら ず 、 環 境 を 初 期 化 す る 。 環 境 変 数 DISPLAY, PATH, TERM は 変 更 さ れ な い が 、 HOME, MAIL, SHELL, USER, LOGNAME は 、 変 身 対 象 ユ ー ザ の そ れ に セ ッ ト さ れ る 。 ATX (及 び PAM を 使 用 し て い な い Linux シ ス テ ム ) で は 、 /etc/environment の 内 容 も 取 り 込 ま れ る 。 そ れ 以 外 の 環 境 変 数 は す べ て 捨 て ら れ る 。 最 後 に 、 env_file オ プ シ ョ ン が 設 定 さ れ て い る 場 合 は 、 そ の フ ァ イ ル に 記 載 さ れ た い か な る 変 数 も 、 す で に 存 在 し て い る 環 境 変 数 と 衝 突 し な い か ぎ り 、 そ こ で 指 定 さ れ て い る 値 に セ ッ ト さ れ る こ と に な る 。

SUDOERS フ ァ イ ル の 書 式

sudoers フ ァ イ ル は 二 種 類 の エ ン ト リ か ら 構 成 さ れ て い る 。 (要 す る に 変 数 で あ る ) エ イ リ ア ス と (誰 が 何 を 実 行 で き る か を 指 定 し て い る ) ユ ー ザ 設 定 だ 。 (訳 注 : 訳 者 と し て は 、 「 エ イ リ ア ス 、 デ フ ォ ル ト 設 定 、 ユ ー ザ 設 定 の 三 種 類 の エ ン ト リ か ら 構 成 さ れ て い る 」 と 言 っ た 方 が 、 現 在 の 実 態 に 合 っ て い る の で は な い か と 思 う 。 ) 一 人 の ユ ー ザ に 複 数 の エ ン ト リ が マ ッ チ す る と き は 、 順 番 に 適 用 さ れ る 。 複 数 の 指 定 が マ ッ チ し て い る 箇 所 に つ い て は 、 最 後 に マ ッ チ し た も の が 使 用 さ れ る (そ れ が 一 番 明 示 的 な マ ッ チ だ と は か ぎ ら な い が )。 以 下 で は sudoers フ ァ イ ル の 文 法 を 拡 張 Backus−Naur 記 法 (EBNF) を 用 い て 記 述 す る 。 EBNF を 御 存 じ な い か ら と い っ て 、 あ き ら め な い で い た だ き た い 。 わ り と 簡 単 な も の だ し 、 以 下 に 出 て く る 定 義 に は 詳 し い 説 明 を つ け て お き ま す か ら 。

EBNF の 基 礎 の 基 礎
EBNF は 言 語 の 文 法 を 記 述 す る 簡 潔 で 厳 密 な 方 法 で あ る 。 EBNF の 個 々 の 定 義 は 生 成 規 則 か ら で き て い る 。 た と え ば 、 シ ン ボ ル ::= 定 義 | 別 の 定 義 1 | 別 の 定 義 2 ... 個 々 の 生 成 規 則 は 、 ほ か の 生 成 規 則 を 参 照 し 、 そ の よ う に し て 言 語 の 文 法 を 作 り 上 げ て い る 。 ま た EBNF に は 以 下 の 演 算 子 が 含 ま れ る が 、 正 規 表 現 で 御 存 じ の 読 者 も 多 い だ ろ う 。 だ が 、 い わ ゆ る 「 ワ イ ル ド カ ー ド 」 文 字 と 混 同 し な い で い た だ き た い 。 あ れ は 別 の 意 味 を 持 っ て い る 。

? 直 前 の シ ン ボ ル

(ま た は 、 シ ン ボ ル の グ ル ー プ ) が 、 あ っ て も な く て も

よ い こ と を 意 味 す る 。 す な わ ち そ の シ ン ボ ル は 、 1 回 現 れ て も よ い し 、 1 回 も 現 れ な い で も よ い 。

* 直 前 の シ ン ボ ル

(ま た は 、 シ ン ボ ル の グ ル ー プ ) が 0 回 以 上 現 れ る 。

+ 直 前 の シ ン ボ ル

(ま た は 、 シ ン ボ ル の グ ル ー プ ) が 1 回 以 上 現 れ る 。

丸 カ ッ コ を 使 う と 、 複 数 の シ ン ボ ル を グ ル ー プ に ま と め る こ と が で き る 。 な お 、 混 乱 を 避 け る た め 、 以 下 の 定 義 で は 、 そ れ が (シ ン ボ ル 名 で は な く ) 文 字 ど お り の 文 字 列 や 記 号 で あ る こ と を 示 す 場 合 に は 、 シ ン グ ル ク ォ ー ト (’ ’) で 囲 む こ と に す る 。 エ イ リ ア ス エ イ リ ア ス に は 四 種 類 あ る 。 User_Alias, Runas_Alias, Host_Alias, Cmnd_Alias で あ る 。

Alias ::= ’User_Alias’ User_Alias (’:’ User_Alias)* |
’Runas_Alias’ Runas_Alias (’:’ Runas_Alias)* |
’Host_Alias’ Host_Alias (’:’ Host_Alias)* |
’Cmnd_Alias’ Cmnd_Alias (’:’ Cmnd_Alias)*

User_Alias ::= NAME ’=’ User_List

Runas_Alias ::= NAME ’=’ Runas_List

Host_Alias ::= NAME ’=’ Host_List

Cmnd_Alias ::= NAME ’=’ Cmnd_List

NAME ::= [A−Z]([A−Z][0−9]_)* 個 々 の エ イ リ ア ス の 定 義 は 、 次 の 形 を と る 。

Alias_Type NAME = item1, item2, ... 上 記 に お い て Alias_Type は 、 User_Alias, Runas_Alias, Host_Alias, Cmnd_Alias の う ち の 一 つ で あ る 。 NAME は 、 ア ル フ ァ ベ ッ ト の 大 文 字 、 数 字 、 ア ン ダ ー ス コ ア (’_’) か ら な る 文 字 列 で あ る が 、 先 頭 の 文 字 は ア ル フ ァ ベ ッ ト の 大 文 字 で な け れ ば な ら な い 。 同 じ タ イ プ の エ イ リ ア ス 定 義 を 、 コ ロ ン で (’:’) つ な い で 、 一 行 に 複 数 書 く こ と も で き る 。 た と え ば 、

Alias_Type NAME = item1, item2, item3 : NAME = item4, item5 既 存 の エ イ リ ア ス を 再 定 義 す る の は 、 文 法 エ ラ ー で あ る 。 異 な る タ イ プ の エ イ リ ア ス に 対 し て 同 じ 名 前 を 使 用 す る こ と は で き る が 、 お 薦 め で き る こ と で は な い 。 エ イ リ ア ス の 有 効 な 要 素 と な る も の の 定 義 は 、 以 下 の よ う に な る 。

User_List ::= User |
User ’,’ User_List

User ::= ’!’* user name |
’!’* #uid |
’!’* %group |
’!’* %#gid |
’!’* +netgroup |
’!’* %:nonunix_group |
’!’* %:#nonunix_gid |
’!’* User_Alias

User_List を 構 成 す る の は 、 一 個 以 上 の 次 の も の で あ る 。 ユ ー ザ 名 、 ユ ー ザ ID (接 頭 辞 ’#’ が 付 く )、 シ ス テ ム グ ル ー プ 名 や そ の ID (そ れ ぞ れ 、 接 頭 辞 ’%’ と ’%#’ が 付 く )、 ネ ッ ト グ ル ー プ 名 (接 頭 辞 ’+’ が 付 く )、 non−Unix グ ル ー プ 名 や そ の ID (そ れ ぞ れ 、 接 頭 辞 ’%:’ と ’%:#’ が 付 く )、 そ れ に User_Alias。 リ ス ト の 各 項 目 の 前 に は 一 個 以 上 の ’!’ 演 算 子 を 付 け て も よ い 。 奇 数 個 の ’!’ は そ の 項 目 の 値 を 否 定 す る 。 偶 数 個 の 場 合 は 互 い 相 殺 さ れ る だ け だ 。 な お 、 ユ ー ザ の ネ ッ ト グ ル ー プ に つ い て は 、 ネ ッ ト グ ル ー プ の 成 員 中 の ユ ー ザ と ド メ イ ン の 要 素 の み を 使 っ て 、 マ ッ チ ン グ が 行 わ れ る 。 ホ ス ト の 要 素 は マ ッ チ ン グ に 使 用 さ れ な い 。 ユ ー ザ 名 、 uid、 グ ル ー プ 名 、 gid、 ネ ッ ト グ ル ー プ 名 、 non−Unix グ ル ー プ 名 、 non−Unix グ ル ー プ の gid は 、 ダ ブ ル ク ォ ー ト で 囲 め ば 、 特 殊 文 字 を エ ス ー プ し な い で す む 。 ダ ブ ル ク ォ ー ト で 囲 ま ず に 特 殊 文 字 を 使 い た い な ら 、 エ ス ケ ー プ し た 16 進 数 を 指 定 し て や れ ば よ い 。 た と え ば 、 ス ペ ー ス な ら \x20 と い う 具 合 だ 。 ダ ブ ル ク ォ ー ト を 使 用 す る 場 合 は 、 接 頭 辞 が あ れ ば 、 そ れ を ダ ブ ル ク ォ ー ト の 内 側 に 入 れ な け れ ば な ら な い 。

non−Unix グ ル ー プ や そ の gid を 指 定 す る と き の の 書 式 が 、 実 際 に ど ん な も の に な る か は 、 利 用 す る グ ル ー プ ・ プ ロ バ イ ダ ー ・ プ ラ グ イ ン (group provider plugin) 次 第 で あ る 。 た と え ば 、 QAS (Quest Authentication Services) の AD プ ラ グ イ ン は 、 以 下 の 書 式 を サ ポ ー ト し て い る 。

同 じ ド メ イ ン の グ ル ー プ :

  "%:Group Name"

任 意 の ド メ イ ン の グ ル ー プ

: "%:Group Name [AT] FULLY.DOMAIN"
グ ル ー プ SID: "%:S−1−2−34−5678901234−5678901234−5678901234−567"

詳 細 に つ い て は 、 「 グ ル ー プ ・ プ ロ バ イ ダ ー ・ プ ラ グ イ ン 」 セ ク シ ョ ン を ご 覧 い た だ き た い 。 グ ル ー プ 名 を 囲 む 引 用 符 は 任 意 で あ る こ と に 注 意 し て い た だ き た い 。 文 字 列 を 引 用 符 で 囲 ま な い 場 合 は 、 バ ッ ク ス ラ ッ シ ュ (’\’) を 使 っ て 、 ス ペ ー ス や 特 殊 文 字 を エ ス ケ ー プ し な け れ ば な ら な い 。 エ ス ケ ー プ す る 必 要 が あ る 文 字 の リ ス ト に つ い て は 、 「 ほ か の 特 殊 文 字 と 予 約 語 」 の セ ク シ ョ ン を 参 照 し て い た だ き た い 。

Runas_List ::= Runas_Member |
Runas_Member ’,’ Runas_List

Runas_Member ::= ’!’* user name |
’!’* #uid |
’!’* %group |
’!’* %#gid |
’!’* %:nonunix_group |
’!’* %:#nonunix_gid |
’!’* +netgroup |
’!’* Runas_Alias

Runas_List は User_List に 似 て い る 。 違 う の は 、 User_Alias で は な く 、 Runas_Alias が 使 え る こ と だ 。 ユ ー ザ 名 や グ ル ー プ 名 の マ ッ チ は 、 文 字 列 と し て 行 わ れ る こ と に 気 を 付 け て い た だ き た い 。 言 い 換 え る と 、 二 つ の ユ ー ザ 名 (あ る い は 、 グ ル ー プ 名 ) は 、 仮 に 同 じ uid (gid) を 持 っ て い て も 、 別 個 の も の と 見 な さ れ る の で あ る 。 だ か ら 、 も し 同 じ uid を 持 っ た す べ て の ユ ー ザ 名 に マ ッ チ さ せ た か っ た ら (た と え ば 、 root と toor が そ う だ と し よ う )、 ユ ー ザ 名 の 代 わ り に uid を 使 え ば よ い (こ の 例 な ら 、 #0 で あ る )。

Host_List ::= Host |
Host ’,’ Host_List

Host ::= ’!’* host name |
’!’* ip_addr |
’!’* network(/netmask)? |
’!’* +netgroup |
’!’* Host_Alias

Host_List を 構 成 す る の は 、 一 個 以 上 の 次 の も の で あ る 。 ホ ス ト 名 、 IP ア ド レ ス 、 ネ ッ ト ワ ー ク ア ド レ ス 、 ネ ッ ト グ ル ー プ 名 (接 頭 辞 ’+’ が 付 く )、 お よ び 他 の エ イ リ ア ス 。 こ こ で も ま た 、 項 目 の 値 は 、 ’!’ 演 算 子 に よ っ て 否 定 す る こ と が で き る 。 な お 、 ホ ス ト の ネ ッ ト グ ル ー プ に つ い て は 、 ネ ッ ト グ ル ー プ の 成 員 中 の ホ ス ト (完 全 修 飾 名 と そ う で な い も の の ど ち ら で も ) と ド メ イ ン の 要 素 の み を 使 っ て 、 マ ッ チ ン グ が 行 わ れ る 。 ユ ー ザ の 要 素 は マ ッ チ ン グ に 使 用 さ れ な い 。 ネ ッ ト ワ ー ク ア ド レ ス を ネ ッ ト マ ス ク な し で 指 定 し た 場 合 は 、 sudo は ロ ー カ ル ホ ス ト の ネ ッ ト ワ ー ク イ ン タ ー フ ェ ー ス を 一 つ 一 つ 参 照 し 、 指 定 さ れ た ネ ッ ト ワ ー ク ア ド レ ス と 同 じ ア ド レ ス を 持 つ イ ン タ ー フ ェ ー ス が あ れ ば 、 そ の ネ ッ ト マ ス ク を 使 用 す る こ と に な る 。 ネ ッ ト マ ス ク の 指 定 は 、 標 準 の IP ア ド レ ス 表 記 (た と え ば 255.255.255.0 や ffff:ffff:ffff:ffff::) で も よ く 、 CIDR 表 記 (ビ ッ ト 数 、 た と え ば 24 や 64) で も よ い 。 ホ ス ト 名 の 一 部 に シ ェ ル 風 の ワ イ ル ド カ ー ド を 使 用 す る こ と が で き る が (下 記 の 「 ワ イ ル ド カ ー ド 」 セ ク シ ョ ン を 参 照 )、 ご 使 用 の マ シ ン の hostname コ マ ン ド が 完 全 修 飾 ド メ イ ン 名 (FQDN) を 返 さ な い 場 合 、 ワ イ ル ド カ ー ド を 利 用 す る に は fqdn オ プ シ ョ ン を 使 う 必 要 が あ る 。 な お 、 sudo が チ ェ ッ ク す る の は 、 実 在 の ネ ッ ト ワ ー ク イ ン タ ー フ ェ ー ス だ け だ と い う こ と に 留 意 し て ほ し い 。 す な わ ち 、 IP ア ド レ ス 127.0.0.1 (localhost) が マ ッ チ す る こ と は 、 絶 対 に な い の で あ る 。 ま た 、 "localhost" と い う ホ ス ト 名 が マ ッ チ す る の は 、 そ れ が 実 際 の ホ ス ト 名 で あ る と き だ け で あ り 、 そ れ は 通 常 、 ネ ッ ト ワ ー ク に つ な が っ て い な い シ ス テ ム の 場 合 に し か 当 て は ま ら な い 。

digest ::= [A−Fa−f0−9]+ |

[[A−Za−z0−9+/=]+

Digest_Spec ::= "sha224" ’:’ digest |

"sha256" ’:’ digest |

"sha384" ’:’ digest |

"sha512" ’:’ digest

Cmnd_List ::= Cmnd |
Cmnd ’,’ Cmnd_List

command name ::= file name |
file name args |
file name ’""’

Cmnd ::= Digest_Spec? ’!’* command name |
’!’* directory |
’!’* "sudoedit" |
’!’* Cmnd_Alias

Cmnd_List は 一 個 以 上 の 、 コ マ ン ド 名 、 デ ィ レ ク ト リ 、 他 の エ イ リ ア ス か ら な る リ ス ト で あ る 。 コ マ ン ド 名 は 絶 対 パ ス の フ ァ イ ル 名 で あ り 、 シ ェ ル 風 の ワ イ ル ド カ ー ド を 含 ん で い て も 構 わ な い (下 記 の 「 ワ イ ル ド カ ー ド 」 セ ク シ ョ ン を 参 照 )。 単 に フ ァ イ ル 名 だ け 指 定 し た 場 合 、 ユ ー ザ は お 望 み の ど ん な 引 き 数 で も 付 け て そ の コ マ ン ド を 実 行 す る こ と が で き る 。 と は 言 え 、 コ マ ン ド ラ イ ン 引 き 数 を (ワ イ ル ド カ ー ド を 含 め て ) 指 定 し て も 構 わ な い し 、 ま た 、 引 き 数 に "" を 指 定 し て 、 そ の コ マ ン ド は 、 コ マ ン ド ラ イ ン 引 き 数 を 付 け ず に 実 行 す る こ と し か で き な い と 指 示 す る こ と も で き る 。 デ ィ レ ク ト リ は ’/’ で 終 わ る 絶 対 パ ス 名 で あ る 。 Cmnd_List に デ ィ レ ク ト リ を 指 定 す る と 、 ユ ー ザ ー は そ の デ ィ レ ク ト リ 内 の 任 意 の フ ァ イ ル を 実 行 で き る よ う に な る (だ が 、 そ の サ ブ デ ィ レ ク ト リ に あ る フ ァ イ ル は 実 行 で き な い )。

Cmnd が コ マ ン ド ラ イ ン 引 き 数 を 伴 っ て い る 場 合 は 、 Cmnd 中 の 引 き 数 は 、 ユ ー ザ が コ マ ン ド ラ イ ン で 打 ち 込 む 引 き 数 と 正 確 に 一 致 し な け れ ば な ら な い (Cmnd 中 の 引 き 数 に ワ イ ル ド カ ー ド が あ る な ら ば 、 そ れ が コ マ ン ド ラ イ ン の 引 き 数 と マ ッ チ し な け れ ば な ら な い )。 以 下 に 挙 げ る 文 字 を コ マ ン ド 引 き 数 の 中 で 用 い る と き は 、 ’\’ に よ っ て エ ス ケ ー プ し な け れ ば な ら な い こ と に 注 意 し て い た だ き た い 。 ’,’, ’:’, ’=’, ’\’ が そ れ で あ る 。 Cmnd に "sudoedit" と い う sudo の 組 み 込 み コ マ ン ド を 指 定 す る と 、 ユ ー ザ に sudo−e オ プ シ ョ ン 付 き で (あ る い は 、 sudoedit と い う コ マ ン ド 名 で ) 実 行 す る こ と を 許 可 す る こ と に な る 。 こ の 場 合 、 コ マ ン ド ラ イ ン 引 き 数 も 指 定 す る こ と が で き る の は 、 普 通 の コ マ ン ド と ま っ た く 同 様 だ 。 "sudoedit" は 、 sudo そ の も の に 組 み 込 ま れ た コ マ ン ド な の で 、 sudoers フ ァ イ ル で は パ ス を 前 に 付 け ず に 指 定 し な け れ ば な ら な い こ と に 注 意 し て い た だ き た い 。 コ マ ン ド 名 の 前 に Digest_Spec が 付 い て い る 場 合 、 コ マ ン ド の マ ッ チ に 成 功 す る の は 、 指 定 さ れ た SHA−2 ダ イ ジ ェ ス ト を 使 っ て 照 合 で き た と き だ け で あ る 。 ダ イ ジ ェ ス ト の フ ォ ー マ ッ ト と し て は 、 sha224, sha256, sha384, sha512 を サ ポ ー ト し て い る 。 文 字 列 は 、 16 進 数 形 式 で も base64 形 式 で も 指 定 で き る (base64 の 方 が 短 く て 済 む )。 SHA−2 ダ イ ジ ェ ス ト を 16 進 数 形 式 で 生 成 で き る ユ ー テ ィ リ テ ィ は い く つ か あ る 。 openssl, shasum, sha224sum, sha256sum, sha384sum, sha512sum と い っ た も の が そ う だ 。 た と え ば 、 openssl を 使 う な ら 、

$ openssl dgst −sha224 /bin/ls
SHA224(/bin/ls)= 118187da8364d490b4a7debbf483004e8f3e053ec954309de2c41a25

openssl を 使 っ て 、 base64 の 出 力 を 生 成 す る こ と も で き る 。

$ openssl dgst −binary −sha224 /bin/ls | openssl base64
EYGH2oNk1JC0p9679IMATo8+BT7JVDCd4sQaJQ== 注 意 : も し ユ ー ザ が コ マ ン ド そ の も の に 対 し て (直 接 で あ れ 、 sudo コ マ ン ド を 通 し て で あ れ ) 書 き 込 み 権 限 を 持 っ て い る な ら ば 、 そ の ユ ー ザ は 、 ダ イ ジ ェ ス ト チ ェ ッ ク が 済 み 、 コ マ ン ド が 実 行 さ れ る ま で の 間 に 、 コ マ ン ド を 別 の も の に 置 き 換 え る こ と が で き る か も し れ な い 。 同 様 の 競 合 状 態 が 、 fexecve(2) シ ス テ ム コ ー ル を 持 っ て い な い シ ス テ ム で は 、 コ マ ン ド が 存 在 す る デ ィ レ ク ト リ が ユ ー ザ に よ っ て 書 き 込 み 可 能 で あ る と き に 起 こ り え る 。 コ マ ン ド ・ ダ イ ジ ェ ス ト を サ ポ ー ト し て い る の は 、 バ ー ジ ョ ン 1.8.7 以 上 だ け で あ る 。 デ フ ォ ル ト 設 定 (Defaults) か な り の 設 定 オ プ シ ョ ン が 、 一 行 以 上 の Default_Entry 行 を 指 定 す る こ と で 実 行 時 に デ フ ォ ル ト の 値 か ら 変 更 可 能 だ 。 そ の 効 果 の 及 ぶ 範 囲 は 、 あ ら ゆ る ホ ス ト の す べ て の ユ ー ザ に す る こ と も で き る し 、 あ る 特 定 の ホ ス ト の す べ て の ユ ー ザ 、 あ る 特 定 の ユ ー ザ 、 あ る 特 定 の コ マ ン ド 、 あ る 特 定 の ユ ー ザ と し て 実 行 す る コ マ ン ド な ど に 限 定 す る こ と も で き る 。 気 を 付 け て ほ し い の は 、 コ マ ン ド に 限 定 し た Defaults 行 に コ マ ン ド ラ イ ン 引 き 数 ま で 書 く こ と が で き な い こ と だ 。 引 き 数 を 指 定 す る 必 要 が あ る 場 合 は 、 Cmnd_Alias を 定 義 し て 、 代 わ り に そ れ を 参 照 す れ ば よ い 。

Default_Type ::= ’Defaults’ |
’Defaults’ ’@’ Host_List |
’Defaults’ ’:’ User_List |
’Defaults’ ’!’ Cmnd_List |
’Defaults’ ’>’ Runas_List

Default_Entry ::= Default_Type Parameter_List

Parameter_List ::= Parameter |
Parameter ’,’ Parameter_List

Parameter ::= Parameter ’=’ Value |
Parameter ’+=’ Value |
Parameter ’−=’ Value |
’!’* Parameter パ ラ メ ー タ は フ ラ グ整 数 値文 字 列リ ス ト の ど れ で あ っ て も よ い 。 フ ラ グ は 要 す る に ブ ー リ ア ン (真 偽 値 ) で あ り 、 ’!’ 演 算 子 で off に で き る 。 整 数 値 、 文 字 列 、 リ ス ト の パ ラ メ ー タ に も 、 真 偽 値 と し て 使 用 し て 、 そ れ を 無 効 に で き る も の が い く つ か 存 在 す る 。 パ ラ メ ー タ の 値 が 複 数 の 単 語 を 含 む と き は 、 値 を ダ ブ ル ク オ ー ト ("") で 囲 む と よ い 。 特 殊 文 字 は バ ッ ク ス ラ ッ シ ュ (’\’) で エ ス ケ ー プ す る こ と が で き る 。 リ ス ト に は 代 入 演 算 子 が = の ほ か に も う 二 つ あ る 。 += と −= で あ る 。 こ う し た 演 算 子 は 、 そ れ ぞ れ 、 リ ス ト に 付 け 加 え た り 、 リ ス ト か ら 削 除 し た り す る の に 使 用 す る 。 −= 演 算 子 を 使 っ て 、 リ ス ト に 存 在 し な い 要 素 を 消 去 し よ う と し て も 、 エ ラ ー に は な ら な い 。

Defaults 行 の 解 析 は 、 次 の 順 序 で 行 わ れ る 。 ま ず 、 汎 用 、 Host、 User の Defaults が 解 析 さ れ 、 そ れ か ら Runas の Defaults、 最 後 に コ マ ン ド の Defaults の 順 番 に な る 。

Defaults 行 で 使 用 で き る パ ラ メ ー タ の リ ス ト に つ い て は 、 「 SUDOERS の オ プ シ ョ ン 」 を 御 覧 い た だ き た い 。 ユ ー ザ 設 定 (User Specification)
User_Spec ::= User_List Host_List ’=’ Cmnd_Spec_List \
(’:’ Host_List ’=’ Cmnd_Spec_List)*

Cmnd_Spec_List ::= Cmnd_Spec |
Cmnd_Spec ’,’ Cmnd_Spec_List

Cmnd_Spec ::= Runas_Spec? SELinux_Spec? Tag_Spec* Cmnd

Runas_Spec ::= ’(’ Runas_List? (’:’ Runas_List)? ’)’

SELinux_Spec ::= (’ROLE=role’ | ’TYPE=type’)

Tag_Spec ::= (’EXEC:’ | ’NOEXEC:’ | ’FOLLOW:’ | ’NOFOLLOW’ |
’LOG_INPUT:’ | ’NOLOG_INPUT:’ | ’LOG_OUTPUT:’ |
’NOLOG_OUTPUT:’ | ’MAIL:’ | ’NOMAIL:’ | ’PASSWD:’ |
’NOPASSWD:’ | ’SETENV:’ | ’NOSETENV:’) ユ ー ザ 設 定 は 、 あ る ユ ー ザ が 、 指 定 さ れ た ホ ス ト で (ど の ユ ー ザ に 変 身 し て ) ど の コ マ ン ド を 実 行 で き る か を 決 定 す る 。 デ フ ォ ル ト で は 、 コ マ ン ド は root に 変 身 し て 実 行 さ れ る が 、 こ れ は コ マ ン ド ご と に 変 更 す る こ と が で き る 。 ユ ー ザ 設 定 の 基 本 構 造 は 、 "who where = (as_whom) what" で あ る ("誰 が ど の ホ ス ト で = (誰 に 変 身 し て ) 何 を ")。 構 成 部 分 に 分 け て 説 明 し よ う 。

Runas_Spec
Runas_Spec は 変 身 の 対 象 と な る ユ ー ザ や グ ル ー プ を 規 定 し て い る 。 完 全 な 形 の Runas_Spec は 、 (上 で 定 義 し て い る よ う に ) コ ロ ン (’:’) で 区 切 ら れ 、 カ ッ コ で 囲 ま れ た 、 二 つ の Runas_List か ら な っ て い る 。 一 つ 目 の Runas_List は 、 sudo−u オ プ シ ョ ン を 使 っ た と き に 変 身 で き る ユ ー ザ を 指 し て い る 。 二 番 目 の 方 が 規 定 し て い る の は 、 sudo−g オ プ シ ョ ン に よ っ て 指 定 で き る グ ル ー プ の リ ス ト だ 。 両 方 の Runas_List が 指 定 さ れ て い る 場 合 は 、 そ れ ぞ れ の Runas_List に リ ス ト さ れ て い る ユ ー ザ と グ ル ー プ の 任 意 の 組 み 合 わ せ で 、 コ マ ン ド を 実 行 す る こ と が で き る 。 一 つ 目 の Runas_List だ け が 指 定 さ れ て い る 場 合 は 、 リ ス ト 中 の い か な る ユ ー ザ に で も 変 身 し て コ マ ン ド を 実 行 で き る が 、 −g オ プ シ ョ ン を 指 定 す る こ と は で き な い 。 一 つ 目 の Runas_List が 空 で 、 二 番 目 だ け 指 定 さ れ て い る 場 合 は 、 sudo を 実 行 す る ユ ー ザ の 資 格 で 、 グ ル ー プ を Runas_List に リ ス ト さ れ て い る 任 意 の グ ル ー プ に 設 定 し て 、 コ マ ン ド を 実 行 す る こ と が で き る 。 Runas_Lists が 両 方 と も 空 の 場 合 は 、 sudo を 実 行 す る ユ ー ザ の 資 格 で し か コ マ ン ド を 実 行 で き な い 。 Runas_Spec が ま っ た く 指 定 さ れ て い な い 場 合 は 、 root と し て コ マ ン ド を 実 行 で き る が 、 グ ル ー プ を 指 定 す る こ と は で き な い 。

Runas_Spec は 、 そ れ に 続 く コ マ ン ド に 対 し て デ フ ォ ル ト を 定 め る 。 そ れ は ど う い う こ と か と 言 う と 、 次 の よ う な エ ン ト リ が あ っ た と し よ う 。

dgb

boulder = (operator) /bin/ls, /bin/kill, /usr/bin/lprm ユ ー ザ dgb/bin/ls, /bin/kill, /usr/bin/lprm を 実 行 す る こ と が で き る 。 た だ し 、 operator と し て 実 行 で き る だ け だ 。 た と え ば 、 次 の よ う に で あ る 。

$ sudo −u operator /bin/ls エ ン ト リ の 後 ろ の 方 の Runas_Spec を 変 更 す る こ と も 可 能 だ 。 上 の エ ン ト リ を こ ん な ふ う に 書 き 変 え た と し よ う 。

dgb

boulder = (operator) /bin/ls, (root) /bin/kill, /usr/bin/lprm す る と 、 ユ ー ザ dgb は 、 /bin/ls こ そ operator と し て だ が 、 /bin/kill/usr/bin/lprmroot の 資 格 で 実 行 で き る よ う に な る 。

dgb が /bin/ls を 実 行 す る と き 、 変 身 対 象 ユ ー ザ と グ ル ー プ の ど ち ら で も operator に な れ る よ う に 、 こ の 記 述 を 拡 張 す る こ と も で き る 。

dgb

boulder = (operator : operator) /bin/ls, (root) /bin/kill,\

/usr/bin/lprm 注 意 し て ほ し い が 、 Runas_Spec の グ ル ー プ の 部 分 は 、 コ マ ン ド を そ の グ ル ー プ と し て 実 行 す る こ と を ユ ー ザ に 許 可 し て い る の で あ っ て 、 そ う す る こ と を ユ ー ザ に 強 制 し て い る の で は な い 。 コ マ ン ド ラ イ ン で グ ル ー プ を 指 定 し な い 場 合 は 、 コ マ ン ド は 、 パ ス ワ ー ド ・ デ ー タ ベ ー ス に あ る 変 身 対 象 ユ ー ザ の エ ン ト リ に 登 録 さ れ て い る グ ル ー プ と し て 実 行 さ れ る こ と に な る の だ 。 以 下 の コ マ ン ド は す べ て 、 上 記 の sudoers エ ン ト リ に よ っ て 許 可 さ れ る こ と に な る だ ろ う 。

$ sudo −u operator /bin/ls
$ sudo −u operator −g operator /bin/ls
$ sudo −g operator /bin/ls 次 の 例 で は 、 ユ ー ザ tcm が モ デ ム の デ バ イ ス フ ァ イ ル に ア ク セ ス す る コ マ ン ド を dialer グ ル ー プ と し て 実 行 で き る よ う に し て い る 。

tcm

boulder = (:dialer) /usr/bin/tip, /usr/bin/cu,\

/usr/local/bin/minicom こ の 例 で は 、 グ ル ー プ し か 指 定 で き な い こ と に 注 意 し て ほ し い 。 コ マ ン ド は 、 ユ ー ザ tcm の 資 格 の ま ま 実 行 さ れ る の で あ る 。 た と え ば 、 次 の よ う に 。

$ sudo −g dialer /usr/bin/cu

Runas_Spec に は 複 数 の ユ ー ザ や グ ル ー プ が 存 在 し て も よ い 。 そ の 場 合 、 ユ ー ザ は −u−g オ プ シ ョ ン を 使 っ て 、 ユ ー ザ と グ ル ー プ の ど ん な 組 み 合 わ せ で も 選 択 す る こ と が で き る 。

alan

ALL = (root, bin : operator, system) ALL こ の 例 で は 、 ユ ー ザ alan は root と bin の ど ち ら の ユ ー ザ に で も 変 身 し て 、 任 意 の コ マ ン ド を 実 行 す る こ と が で き る 。 ま た 、 グ ル ー プ を operator や system に 設 定 す る こ と も 自 由 で あ る 。

SELinux_Spec
SELinux を サ ポ ー ト す る シ ス テ ム で は 、 sudoers フ ァ イ ル の エ ン ト リ で SELinux の role や type を コ マ ン ド に 関 連 付 け る こ と も 可 能 で あ る 。 role や type を 特 定 の コ マ ン ド に つ い て 指 定 す る と 、 sudoers 中 で デ フ ォ ル ト と し て 設 定 さ れ て い る role や type が あ っ て も 、 そ れ よ り も 優 先 さ れ る 。 も っ と も 、 role や type を コ マ ン ド ラ イ ン で 指 定 す れ ば 、 そ ち ら が sudoers 中 の 値 よ り さ ら に 優 先 さ れ る こ と に な る 。

Tag_Spec コ マ ン ド は 0 個 以 上 の タ グ を 伴 う こ と が で き る 。 使 用 で き る タ グ の 値 は 14 個 あ り 、 EXEC, NOEXEC, FOLLOW, NOFOLLOW, LOG_INPUT, NOLOG_INPUT, LOG_OUTPUT, NOLOG_OUTPUT, MAIL, NOMAIL, PASSWD, NOPASSWD, SETENV, NOSETENV が 、 そ れ で あ る 。 あ る Cmnd に タ グ を セ ッ ト す る と 、 Cmnd_Spec_List 中 の そ れ 以 後 の Cmnd は 、 反 対 の 意 味 を 持 つ タ グ に よ っ て 変 更 さ れ な い か ぎ り 、 そ の タ グ を 継 承 す る こ と に な る (す な わ ち 、 PASSWD は NOPASSWD を 無 効 に し 、 NOEXEC は EXEC を 無 効 に す る )。
EXEC
NOEXEC

sudonoexec サ ポ ー ト つ き で コ ン パ イ ル さ れ 、 使 用 し て い る オ ペ レ ー テ ィ ン グ シ ス テ ム が そ れ に 対 応 し て い る 場 合 、 NOEXEC タ グ を 利 用 す れ ば 、 動 的 に リ ン ク さ れ た 実 行 フ ァ イ ル が 、 そ こ か ら さ ら に コ マ ン ド を 実 行 す る の を 防 ぐ こ と が で き る 。 次 の 例 で は 、 ユ ー ザ aaron/usr/bin/more/usr/bin/vi を 実 行 で き る が 、 シ ェ ル ・ エ ス ケ ー プ は 利 用 で き な い 。

aaron

shanty = NOEXEC: /usr/bin/more, /usr/bin/vi

NOEXEC が ど ん な ふ う に 働 く の か 、 お 使 い の シ ス テ ム で 利 用 で き る か ど う か 、 な ど に つ い て さ ら に 詳 し く 知 り た か っ た ら 、 後 述 の 「 シ ェ ル ・ エ ス ケ ー プ の 防 止 」 セ ク シ ョ ン を 御 覧 に な る と よ い 。

FOLLOWNOFOLLOW バ ー ジ ョ ン 1.8.15 以 来 、 sudoedit は 、 sudoedit_follow オ プ シ ョ ン が 有 効 に な っ て い な い か ぎ り 、 フ ァ イ ル が シ ン ボ リ ッ ク リ ン ク な ら ば 、 そ れ を 開 か な い よ う に な っ て い る 。 FOLLOWNOFOLLOW タ グ は 、 sudoedit_follow の 値 を 上 書 き す る の で 、 こ れ を 使 用 す れ ば 、 シ ン ボ リ ッ ク リ ン ク の 編 集 を コ マ ン ド ご と に 許 可 し た り 、 禁 止 し た り す る こ と が で き る 。 こ の 二 つ の タ グ が 効 果 が あ る の は 、 sudoedit コ マ ン ド に 対 し て の み で あ り 、 他 の ど ん な コ マ ン ド に 対 し て も 無 視 さ れ る 。
LOG_INPUT
NOLOG_INPUT こ の 二 つ の タ グ は log_input オ プ シ ョ ン の 値 を コ マ ン ド ご と に 変 更 す る 。 詳 し い 情 報 に つ い て は 、 後 述 す る 「 SUDOERS の オ プ シ ョ ン 」 セ ク シ ョ ン の log_input の 説 明 を ご 覧 に な っ て い た だ き た い 。
LOG_OUTPUT
NOLOG_OUTPUT こ の 二 つ の タ グ は log_output オ プ シ ョ ン の 値 を コ マ ン ド ご と に 変 更 す る 。 詳 し い 情 報 に つ い て は 、 後 述 す る 「 SUDOERS の オ プ シ ョ ン 」 セ ク シ ョ ン の log_output の 説 明 を ご 覧 に な っ て い た だ き た い 。
MAIL
NOMAIL こ の 二 つ の タ グ を 使 え ば 、 mail_all_cmnds オ プ シ ョ ン の 値 を コ マ ン ド ご と に 上 書 き す る こ と に よ っ て 、 ユ ー ザ が コ マ ン ド を 実 行 し た と き に メ ー ル を 送 付 す る か ど う か に つ い て 、 き め 細 か な 制 御 を 行 う こ と が で き る 。 sudo−l−v オ プ シ ョ ン を 付 け て 実 行 さ れ た と き に は 、 効 果 が な い 。 NOMAIL は 、 mail_alwaysmail_no_perms オ プ シ ョ ン も 上 書 き す る 。 詳 細 に つ い て は 、 後 述 の 「 SUDOERS の オ プ シ ョ ン 」 セ ク シ ョ ン に あ る mail_all_cmnds, mail_always, mail_no_perms の 説 明 を ご 覧 い た だ き た い 。
PASSWD
NOPASSWD デ フ ォ ル ト で は 、 sudo は コ マ ン ド を 実 行 す る 前 に 、 ユ ー ザ が 本 人 で あ る こ と を 証 明 す る よ う に 求 め る 。 こ の 振 舞 い は NOPASSWD タ グ に よ っ て 変 更 す る こ と が で き る 。 Runas_Spec と 同 様 、 NOPASSWD タ グ も Cmnd_Spec_List 中 の そ れ に 続 く コ マ ン ド に 対 し て デ フ ォ ル ト を 定 め る 。 PASSWD の 働 き は 反 対 で あ り 、 振 舞 い を 元 に 戻 し た い と き に 使 え る 。 た と え ば 、

ray

rushmore = NOPASSWD: /bin/kill, /bin/ls, /usr/bin/lprm と す れ ば 、 ユ ー ザ ray は マ シ ン rushmore 上 で 認 証 を し な い で も root と し て /bin/kill, /bin/ls, /usr/bin/lprm を 実 行 で き る よ う に な る 。 も し ray が パ ス ワ ー ド な し で 実 行 で き る コ マ ン ド を /bin/kill だ け に 絞 り た い の な ら 、 エ ン ト リ は こ う な る だ ろ う 。

ray

rushmore = NOPASSWD: /bin/kill, PASSWD: /bin/ls, /usr/bin/lprm た だ し 、 ユ ー ザ が exempt_group オ プ シ ョ ン で 指 定 さ れ て い る グ ル ー プ に 属 す る 場 合 は 、 PASSWD タ グ が 効 果 を 持 た な い こ と に 注 意 し て ほ し い 。 デ フ ォ ル ト で は 、 現 在 使 用 中 の ホ ス ト に 関 す る ユ ー ザ の エ ン ト リ の う ち に NOPASSWD タ グ が 指 定 さ れ て い る も の が 一 つ で も あ れ ば 、 そ の ユ ー ザ は パ ス ワ ー ド な し で "sudo −l" を 実 行 で き る 。 な お 、 ユ ー ザ が パ ス ワ ー ド な し で "sudo −v" を 実 行 で き る の は 、 現 在 使 用 中 の ホ ス ト に 関 す る そ の ユ ー ザ の エ ン ト リ の す べ て で NOPASSWD タ グ が 生 き て い る と き の み で あ る 。 こ の 動 作 は 、 verifypwlistpw オ プ シ ョ ン に よ っ て 変 更 で き る 。

SETENVNOSETENV 上 記 の タ グ は setenv オ プ シ ョ ン の 値 を コ マ ン ド ご と に 変 更 す る 。 あ る コ マ ン ド に 対 し て SETENV を 設 定 す る と 、 ユ ー ザ が コ マ ン ド ラ イ ン か ら −E オ プ シ ョ ン を 使 用 し て 、 env_reset オ プ シ ョ ン を 無 効 に で き る よ う に な る こ と に 注 意 し て ほ し い 。 そ れ だ け で は な い 。 コ マ ン ド ラ イ ン か ら 設 定 す る 環 境 変 数 が env_check, env_delete, env_keep に よ る 規 制 を 受 け な い よ う に も な る 。 そ れ 故 、 こ う し た 形 で 環 境 変 数 を 設 定 す る こ と を 許 可 す る の は 、 信 用 で き る ユ ー ザ だ け に 限 る べ き で あ る 。 な お 、 マ ッ チ す る コ マ ン ド が ALL だ っ た 場 合 は 、 暗 黙 の う ち に SETENVタ グ が そ の コ マ ン ド に 付 け ら れ る が 、 こ の デ フ ォ ル ト の 動 作 は UNSETENV タ グ を 使 え ば 打 ち 消 す こ と が で き る 。 ワ イ ル ド カ ー ド
sudoers
フ ァ イ ル で は 、 ホ ス ト 名 、 コ マ ン ド の パ ス 名 、 コ マ ン ド ラ イ ン 引 き 数 に シ ェ ル 形 式 の ワ イ ル ド カ ー ド (メ タ 文 字 と か glob キ ャ ラ ク タ と も 言 う ) が 使 用 で き る 。 ワ イ ル ド カ ー ド の マ ッ チ ン グ は 、 IEEE Std 1003.1 ("POSIX.1") で 規 定 さ れ て い る glob(3)fnmatch(3) 関 数 を 用 い て 行 わ れ る 。

*

0 個 以 上 の 任 意 の 文 字 (ホ ワ イ ト ス ペ ー ス も 含 む ) に マ ッ チ す る 。

?

任 意 の 1 文 字 (ホ ワ イ ト ス ペ ー ス も 含 む ) に マ ッ チ す る 。

[...] 指 定 さ れ

た 範 囲 の 任 意 の 1 文 字 に マ ッ チ す る 。

[!...] 指 定 さ れ た 範 囲 以 外 の 任 意

の 1 文 字 に マ ッ チ す る 。
\x

’x’ が ど ん な 文 字 で あ っ て も 、 ’x’ そ の も の と し て 評 価 す る 。 こ の 表 記 法 は ’*’, ’?’, ’[’, ’]’ と い っ た 特 殊 文 字 を エ ス ケ ー プ す る た め に 使 用 さ れ る 。

上 記 の も の は 正 規 表 現 で は な い こ と に 注 意 し て い た だ き た い 。 正 規 表 現 と は 違 っ て 、 範 囲 内 の 文 字 一 つ 以 上 に マ ッ チ さ せ る 方 法 は 存 在 し な い 。 使 用 し て い る シ ス テ ム の glob(3)fnmatch(3) 関 数 が 文 字 ク ラ ス に 対 応 し て い る な ら 、 文 字 ク ラ ス が 使 用 で き る 。 た だ し 、 ’:’ 文 字 は 、 sudoers で 特 別 な 意 味 を 持 っ て い る の で 、 エ ス ケ ー プ し な け れ ば な ら な い 。 一 例 を 上 げ る 。

/bin/ls [[\:alpha\:]]*

sudoers 中 で 上 の よ う に 書 け ば 、 ア ル フ ァ ベ ッ ト の 文 字 で 始 ま る ど ん な フ ァ イ ル 名 に も マ ッ チ す る だ ろ う 。 コ マ ン ド の フ ァ イ ル 名 の 部 分 で 使 わ れ た ワ イ ル ド カ ー ド は フ ォ ワ ー ド ス ラ ッ シ ュ (’/’) に マ ッ チ し な い こ と に 注 意 し て い た だ き た い 。 そ こ で 、 次 の よ う な パ ス は 、

/usr/bin/*

/usr/bin/who に マ ッ チ す る が 、 /usr/bin/X11/xterm に は マ ッ チ し な い 。 だ が 、 コ マ ン ド ラ イ ン 引 き 数 の 部 分 の マ ッ チ ン グ で は 、 ワ イ ル ド カ ー ド は ス ラ ッ シ ュ に し っ か り マ ッ チ す る 。 コ マ ン ド ラ イ ン 引 き 数 に は 、 任 意 の 文 字 列 を 含 む こ と が 認 め ら れ て お り 、 パ ス 名 し か 許 さ れ て い な い わ け で は な い か ら だ 。

sudoers 中 で コ マ ン ド ラ イ ン 引 き 数 に ワ イ ル ド カ ー ド を 使 用 す る と き は 、 注 意 し な け れ ば な ら な い 。 コ マ ン ド ラ イ ン 引 き 数 は 、 結 合 し て 一 つ の 文 字 列 に し た 上 で 、 マ ッ チ ン グ を 行 う 。 そ の た め 、 ’?’ や ’*’ と い っ た ワ イ ル ド カ ー ド 文 字 が 、 ユ ー ザ が 指 定 し た コ マ ン ド ラ イ ン 引 き 数 と 、 単 語 の 境 界 を ま た い で マ ッ チ し て し ま う こ と に な る の だ 。 こ れ は 想 定 外 の こ と か も し れ な い 。 た と え ば 、 sudoers に 次 の よ う な 行 が あ る と 、

%operator ALL = /bin/cat /var/log/messages* 以 下 の コ マ ン ド が 実 行 で き る こ と に な る が 、

$ sudo cat /var/log/messages.1 ま た 、 以 下 の コ マ ン ド の 実 行 も 可 能 に な っ て し ま う 。

$ sudo cat /var/log/messages /etc/shadow 後 者 は 、 お そ ら く 意 図 に 反 し て い る だ ろ う 。 た い て い の 場 合 、 コ マ ン ド ラ イ ン の 処 理 は 、 sudoers フ ァ イ ル の 中 で は な く 、 ス ク リ プ ト 言 語 中 で 行 っ た 方 が 間 違 い が な い 。 ワ イ ル ド カ ー ド ・ ル ー ル の 例 外 上 記 ル ー ル に は 以 下 の 例 外 が あ る 。

""

sudoers フ ァ イ ル の エ ン ト リ に お い て 、 空 文 字 列 "" が 唯 一 の コ マ ン ド ラ イ ン 引 き 数 だ っ た 場 合 は 、 そ の コ マ ン ド は 引 き 数 を 付 け ず に 実 行 し な け れ ば な ら な い こ と を 意 味 し て い る 。

sudoedit

組 み 込 み コ マ ン ド sudoedit に コ マ ン ド ラ イ ン で 渡 す 引 き 数 は 、 常 に パ ス 名 で あ る は ず だ 。 そ こ で 、 ワ イ ル ド カ ー ド は フ ォ ワ ー ド ス ラ ッ シ ュ (’/’) に マ ッ チ し な い よ う に な っ て い る (訳 注 : sudoers 中 で sudoedit に 対 し て 引 き 数 を 指 定 す る 場 合 、 そ れ は 一 般 の コ マ ン ド ラ イ ン 引 き 数 と 同 じ 扱 い で は な く 、 パ ス 名 扱 い に な る と い う こ と )。

sudoers に 他 の フ ァ イ ル を イ ン ク ル ー ド す る
#include 命 令 や #includedir 命 令 を 使 え ば 、 現 在 解 析 中 の sudoers フ ァ イ ル に 、 外 部 に あ る ほ か の sudoers フ ァ イ ル を イ ン ク ル ー ド す る こ と が で き る 。 こ の 方 法 を 使 え ば 、 た と え ば 、 サ イ ト 全 体 で 使 用 す る sudoers フ ァ イ ル の ほ か に 、 マ シ ン ご と の ロ ー カ ル な sudoers フ ァ イ ル を 持 つ こ と が で き る 。 こ こ で は 、 サ イ ト 全 体 の sudoers フ ァ イ ル を /etc/sudoers と し 、 マ シ ン ご と の 方 は /etc/sudoers.local と す る こ と に し よ う 。 /etc/sudoers/etc/sudoers.local を イ ン ク ル ー ド す る に は 、 /etc/sudoers 中 に 次 の 行 を 書 き 込 め ば よ い 。

#include /etc/sudoers.local

sudo は 解 析 中 こ の 行 に 出 会 う と 、 カ レ ン ト フ ァ イ ル (/etc/sudoers だ ) の 処 理 を 一 時 中 止 し て 、 処 理 の 対 象 を /etc/sudoers.local に 切 り 替 え る 。 そ し て 、 /etc/sudoers.local の 末 尾 ま で 達 し た ら 、 /etc/sudoers の 残 り を 処 理 す る の で あ る 。 イ ン ク ル ー ド さ れ る フ ァ イ ル が 、 さ ら に 他 の フ ァ イ ル を イ ン ク ル ー ド し て い て も よ い 。 イ ン ク ル ー ト の ネ ス ト に は 、 128 フ ァ イ ル ま で と い う ハ ー ド ・ リ ミ ッ ト が あ っ て 、 イ ン ク ル ー ド フ ァ イ ル の ル ー プ が 起 き な い よ う に な っ て い る 。 イ ン ク ル ー ド フ ァ イ ル の パ ス が 絶 対 パ ス で な い 場 合 は (す な わ ち 、 パ ス が ’/’ で 始 ま っ て い な い 場 合 は )、 イ ン ク ル ー ド す る 側 の sudoers フ ァ イ ル と 同 じ デ ィ レ ク ト リ に 、 イ ン ク ル ー ド さ れ る フ ァ イ ル も 存 在 し な け れ ば な ら な い 。 た と え ば 、 /etc/sudoers に 次 の よ う な 行 が あ っ た ら 、

#include sudoers.local イ ン ク ル ー ド さ れ る フ ァ イ ル は 、 /etc/sudoers.local で あ る 。 な お 、 フ ァ イ ル 名 に は %h エ ス ケ ー プ が 使 え る 。 こ れ は ホ ス ト 名 の 短 縮 形 を 示 し て い る 。 た と え ば 、 マ シ ン の ホ ス ト 名 が "xerxes" の と き 、

#include /etc/sudoers.%h と 書 け ば 、 sudo は フ ァ イ ル /etc/sudoers.xerxes を イ ン ク ル ー ド す る こ と に な る 。

#includedir 命 令 を 使 え ば 、 sudoers.d デ ィ レ ク ト リ を 作 っ て お い て 、 シ ス テ ム の パ ッ ケ ー ジ 管 理 者 が パ ッ ケ ー ジ を イ ン ス ト ー ル す る 際 に sudoers の ル ー ル を 記 し た フ ァ イ ル を そ こ に 入 れ て や る 、 と い っ た こ と が 可 能 に な る 。 た と え ば 、 次 の よ う に 書 く と 、

#includedir /etc/sudoers.d

sudo/etc/sudoers.d に あ る フ ァ イ ル を 一 つ づ つ 読 み 込 む 。 た だ し 、 末 尾 が ’~’ だ っ た り 、 ’.’ 文 字 を 含 ん で い た り す る フ ァ イ ル 名 は ス キ ッ プ す る が 、 こ れ は 、 パ ッ ケ ー ジ マ ネ ー ジ ャ や エ デ ィ タ が 作 っ た 、 テ ン ポ ラ リ フ ァ イ ル や バ ッ ク ア ッ プ フ ァ イ ル を 読 み 込 む よ う な 問 題 を 起 こ さ な い た め で あ る 。 フ ァ イ ル は 辞 書 順 に ソ ー ト さ れ て 、 解 析 さ れ る 。 す な わ ち 、 /etc/sudoers.d/01_first/etc/sudoers.d/10_second よ り 前 に 解 析 さ れ る と い う こ と だ 。 ソ ー ト は 辞 書 順 で あ っ て 、 数 値 の 順 で は な い の で 、 /etc/sudoers.d/1_whoops と い う フ ァ イ ル が あ っ て も 、 /etc/sudoers.d/10_second よ り 後 で ロ ー ド さ れ る こ と に 注 意 し て い た だ き た い 。 フ ァ イ ル 名 の 先 頭 を 0 で 埋 め て 数 字 の 桁 を 揃 え れ ば 、 こ う し た 問 題 を 回 避 す る こ と が で き る 。 気 を つ け て い た だ き た い が 、 #include で イ ン ク ル ー ド さ れ た フ ァ イ ル と は 違 っ て (訳 注 : visudo/etc/sudoers を 編 集 す る と き 、 #include で 指 定 し た フ ァ イ ル が あ れ ば 、 続 け て そ れ も 編 集 す る )、 visudo が #includedir で 指 定 し た デ ィ レ ク ト リ の フ ァ イ ル ま で 編 集 す る の は 、 シ ン タ ク ス エ ラ ー を 含 む も の が あ る と き だ け で あ る 。 と は 言 え 、 visudo−f オ プ シ ョ ン 付 き で 実 行 し て 、 デ ィ レ ク ト リ 中 の フ ァ イ ル を 直 接 編 集 す る こ と は 可 能 だ が 、 そ の 場 合 は 、 他 の フ ァ イ ル で 定 義 さ れ て い る エ イ リ ア ス が 再 定 義 さ れ て い て も 、 そ れ を 見 つ け て 指 摘 し て く れ る こ と は な い 。 ほ か の 特 殊 文 字 と 予 約 語 パ ウ ン ド 記 号 (’#’) は コ メ ン ト を 示 す の に 使 用 さ れ る (例 外 は 、 #include 命 令 の 一 部 で あ る と き や 、 ユ ー ザ 名 に 関 連 し て 現 れ 、 そ の 後 に 一 個 以 上 の 数 字 が 続 く と き で あ り 、 後 者 の 場 合 は uid と 見 な さ れ る )。 コ メ ン ト 記 号 と そ れ に 続 く テ キ ス ト は 、 行 末 に い た る ま で 無 視 さ れ る 。 予 約 語 ALL は 組 込 み の エ イ リ ア ス で あ り 、 何 に 対 し て で も マ ッ チ す る 。 ALL は 、 Cmnd_Alias, User_Alias, Runas_Alias, Host_Alias を 代 わ り に 使 え る と こ ろ な ら 、 ど こ で も 使 用 で き る 。 ALL と い う 名 前 の エ イ リ ア ス を 自 分 で 定 義 し よ う と し て は い け な い 。 組 込 み の エ イ リ ア ス の 方 が 、 自 分 で 作 っ た エ イ リ ア ス よ り 優 先 し て 使 わ れ る か ら だ 。 ALL の 使 用 に は 危 険 が 伴 う こ と が あ る の を 忘 れ な い で い た だ き た い 。 な ぜ な ら 、 ALL を コ マ ン ド に 関 し て 使 う と 、 ユ ー ザ に シ ス テ ム 上 の ど ん な コ マ ン ド で も 実 行 す る こ と を 許 し て し ま う か ら で あ る 。 エ ク ス ク ラ メ ー シ ョ ン マ ー ク (’!’) は 、 リ ス ト や エ イ リ ア ス 中 は も ち ろ ん 、 Cmnd の 前 で も 論 理 not 演 算 子 と し て 使 用 す る こ と が で き る 。 こ れ に よ っ て あ る 値 を 除 外 す る こ と が 可 能 に な る わ け だ 。 た だ し 、 ’!’ 演 算 子 が 効 果 を 持 つ た め に は 、 そ こ か ら 除 外 す る 対 象 が 存 在 し な け れ ば な ら な い 。 た と え ば 、 root 以 外 の す べ て の ユ ー ザ に マ ッ チ さ せ た い 場 合 は 、 次 の 表 現 を 使 用 す る 。

ALL,!root 次 の よ う に ALL の 記 述 を 省 く と 、

!root 確 か に root を 明 示 的 に 否 定 す る こ と に は な る が 、 他 の ど ん な ユ ー ザ と も マ ッ チ す る こ と が な い 。 こ の 点 が 、 正 真 の 「 否 定 」 演 算 子 と は 違 っ て い る 。 と は 言 え 、 組 込 み エ イ リ ア ス ALL と ’!’ を 組 み 合 わ せ て 、 「 二 三 の コ マ ン ド 以 外 の す べ て の 」 コ マ ン ド の 実 行 を あ る ユ ー ザ に 許 可 し よ う と し て も 、 意 図 ど お り の 動 き に な る こ と は め っ た に な い こ と に 気 を つ け て い た だ き た い (下 記 の 「 セ キ ュ リ テ ィ に 関 す る 注 意 点 」 を 参 照 )。 長 い 行 は 、 行 末 に バ ッ ク ス ラ ッ シ ュ ’\’ を 置 け ば 、 継 続 す る こ と が で き る 。 リ ス ト に お け る 要 素 間 や ユ ー ザ 設 定 に お け る 構 文 用 特 殊 文 字 (’=’, ’:’, ’(’, ’)’) の 前 後 に 空 白 (white space) を 入 れ る こ と は 、 任 意 で あ る 。 次 の 文 字 を 単 語 (ユ ー ザ 名 と か ホ ス ト 名 と か ) の 一 部 と し て 使 う と き は 、 バ ッ ク ス ラ ッ シ ュ (’\’) で エ ス ケ ー プ し な け れ ば な ら な い 。 ’!’, ’=’, ’:’, ’,’, ’(’, ’)’, ’\’ が そ れ で あ る 。

SUDOERS の オ プ シ ョ ン

す で に 説 明 し た よ う に 、 sudo の 動 作 は Default_Entry 行 に よ っ て 変 更 す る こ と が で き る 。 Defaults に 与 え る こ と の で き る パ ラ メ ー タ に つ い て 、 サ ポ ー ト さ れ て い る も の の す べ て を 、 タ イ プ 別 に ま と め て 以 下 に 列 挙 す る 。 ブ ー リ ア ン ・ フ ラ グ (真 偽 値 )

always_query_group_plugin

group_plugin の 設 定 が な さ れ て い る 場 合 に 、 %group の 形 式 の グ ル ー プ を 解 決 す る の に 、 同 名 の シ ス テ ム ・ グ ル ー プ が 同 時 に 存 在 し な い か ぎ り 、 指 定 さ れ た group_plugin を 使 用 す る 。 always_query_group_plugin が 設 定 さ れ て い な い 通 常 の 状 態 で は 、 %:group の 形 式 の グ ル ー プ の み が group_plugin に 渡 さ れ る の で あ る 。 こ の フ ラ グ は デ フ ォ ル ト で は off で あ る 。

always_set_home こ れ を 有 効 に す る と 、

sudo は 環 境 変 数 HOME を 変 身 対 象

ユ ー ザ の (−u オ プ シ ョ ン が 使 用 さ れ て い な い か ぎ り 、 root の ) ホ ー ム デ ィ レ ク ト リ に 設 定 す る こ と に な る 。 事 実 上 、 暗 黙 の う ち に sudo−H オ プ シ ョ ン が 常 に 指 定 さ れ る こ と に な る わ け だ 。 気 を つ け て い た だ き た い が 、 デ フ ォ ル ト で は 、 env_reset オ プ シ ョ ン が 有 効 に な っ て い る 場 合 は 、 HOME の 値 は 、 変 身 対 象 ユ ー ザ の ホ ー ム デ ィ レ ク ト リ に 設 定 さ れ る こ と に な る 。 だ か ら 、 always_set_home の 指 定 に 効 果 が あ る の は 、 env_reset を 無 効 に 設 定 し て い る 場 合 か 、 env_keep の リ ス ト に HOME が 存 在 す る 場 合 だ け で あ る 。 こ の フ ラ グ は デ フ ォ ル ト で は off で あ る 。

authenticate こ れ を セ ッ ト す る と 、 ユ ー ザ は コ マ ン ド の 実 行 を 許 可 さ れ る 前 に 、 パ ス ワ ー ド で

(あ る い は 、 ほ か の 認 証 方 法 で ) 自 分 が 本 人 で あ る こ と を 証 明 し な け れ ば な ら な く な る 。 こ の デ フ ォ ル ト 値 は PASSWD や NOPASSWD タ グ で 変 更 で き る 。 こ の フ ラ グ は デ フ ォ ル ト で は on で あ る 。
closefrom_override こ れ を セ ッ ト す る と 、 ユ ー ザ が sudo−C オ プ シ ョ ン を 使 用 で き る よ う に な る 。 −C オ プ シ ョ ン と い う の は 、 sudo が 開 い て い る フ ァ イ ル ・ デ ィ ス ク リ プ タ を 閉 じ て い く と き 、 ど の デ ィ ス ク リ プ タ か ら 閉 じ て い く か と い う 、 デ フ ォ ル ト の 始 点 を 変 更 す る も の だ 。 こ の フ ラ グ は デ フ ォ ル ト で は off で あ る 。

compress_io こ れ を セ ッ ト す る と 、

sudo が コ マ ン ド の 入 出 力 の ロ グ を

取 る よ う に 設 定 さ れ て い る 場 合 に 、 入 出 力 の ロ グ を zlib を 使 っ て 、 圧 縮 す る こ と に な る 。 sudozlib を サ ポ ー ト す る よ う に コ ン パ イ ル さ れ て い る 場 合 、 こ の フ ラ グ の デ フ ォ ル ト は on で あ る 。

exec_background デ フ ォ ル ト で は 、

sudo 自 体 が フ ォ ア グ ラ ウ ン ド で 実 行 さ れ

て い る か ぎ り 、 コ マ ン ド は sudo に よ っ て フ ォ ア グ ラ ウ ン ド ・ プ ロ セ ス と し て 実 行 さ れ る 。 そ れ に 対 し て 、 exec_background フ ラ グ が 有 効 に な っ て い る 場 合 は 、 コ マ ン ド が (入 出 力 ロ ギ ン グ や use_pty フ ラ グ の た め に ) pty で 実 行 さ れ て い る と 、 そ の コ マ ン ド は バ ッ ク グ ラ ウ ン ド ・ プ ロ セ ス と し て 実 行 さ れ る こ と に な る 。 こ の と き 、 そ の コ マ ン ド が 制 御 タ ー ミ ナ ル か ら 読 み 込 み を 行 お う と す る と (あ る い は 、 タ ー ミ ナ ル の 設 定 を 変 更 し よ う と す る と ) 、 コ マ ン ド は SIGTTIN シ グ ナ ル (タ ー ミ ナ ル 設 定 の 場 合 は SIGTTOU シ グ ナ ル ) に よ っ て サ ス ペ ン ド さ れ る 。 そ う し た こ と が 起 き て も 、 sudo が フ ォ ア グ ラ ウ ン ド ・ プ ロ セ ス な ら ば 、 そ の コ マ ン ド は 制 御 タ ー ミ ナ ル の 使 用 を 許 可 さ れ 、 ユ ー ザ が 何 の 操 作 を し な い で も 、 フ ォ ア グ ラ ウ ン ド で 実 行 が 再 開 さ れ る 。 コ マ ン ド の 実 行 を バ ッ ク グ ラ ウ ン ド で 始 め る こ と の 利 点 は 、 そ う す れ ば 、 コ マ ン ド が 明 示 的 に 要 求 し な い か ぎ り 、 sudo は タ ー ミ ナ ル か ら 読 み 込 み を 行 う 必 要 が な い と い う こ と で あ る 。 そ う し な い 場 合 は 、 コ マ ン ド が 入 力 を 要 求 し て い る か 否 か に 関 わ り な く 、 い か な る 入 力 も コ マ ン ド に 渡 さ な け れ ば な ら な い の だ (カ ー ネ ル が タ ー ミ ナ ル の バ ッ フ ァ リ ン グ を し て い る の で 、 コ マ ン ド が 本 当 に そ の 入 力 を 必 要 と し て い る か ど う か を 、 判 断 す る こ と は で き な い の で あ る )。 こ の 動 作 は 、 従 来 の sudo の 動 作 と は 異 な っ て い る 。 ま た 、 コ マ ン ド が pty で 実 行 さ れ て い な い と き の 動 作 と も 異 な っ て い る 。 こ の 動 作 が シ ー ム レ ス に 行 わ れ る た め に は 、 オ ペ レ ー テ ィ ン グ シ ス テ ム が 、 シ ス テ ム コ ー ル の 自 動 的 な 再 ス タ ー ト を サ ポ ー ト し て い な け れ ば な ら な い 。 残 念 な こ と に 、 す べ て の オ ペ レ ー テ ィ ン グ シ ス テ ム が 、 デ フ ォ ル ト で そ れ を 行 っ て く れ る わ け で は な く 、 そ れ を 行 っ て く れ る オ ペ レ ー テ ィ ン グ シ ス テ ム に も 、 バ グ が あ る こ と が あ る 。 た と え ば 、 Mac OS X は 、 tcgetattr() や tcsetattr() シ ス テ ム コ ー ル の 再 ス タ ー ト に 失 敗 す る (こ れ は Mac OS X の バ グ で あ る )。 そ れ だ け で は な く 、 こ の 動 作 は 、 コ マ ン ド が SIGTTIN や SIGTTOU シ グ ナ ル で 停 止 す る こ と を 当 て に し て い る の で 、 そ う し た シ グ ナ ル は 捕 獲 し 、 別 の シ グ ナ ル (た い て い は SIGSTOP) で 自 分 を 停 止 さ せ る プ ロ グ ラ ム は 、 自 動 的 に フ ォ ア グ ラ ウ ン ド 化 で き な い 。 linux の su(1) コ マ ン ド の 動 作 が 、 系 統 に よ っ て は 、 そ ん な ふ う に な っ て い る 。 こ の フ ラ グ は デ フ ォ ル ト で は off で あ る 。 こ の 設 定 は 、 バ ー ジ ョ ン 1.8.7 以 上 で の み サ ポ ー ト さ れ て い る 。 ま た 、 入 出 力 ロ ギ ン グ が 有 効 に な っ て い る 場 合 や 、 use_pty フ ラ グ が 有 効 に な っ て い る 場 合 以 外 、 こ の 設 定 に は 効 果 が な い 。

env_editor こ れ を セ ッ ト す る と 、

visudo は デ フ ォ ル ト の エ デ ィ タ ・ リ

ス ト を 利 用 す る 前 に 、 環 境 変 数 EDITOR や VISUAL の 値 を 使 用 す る よ う に な る 。 そ れ が セ キ ュ リ テ ィ ホ ー ル に な り か ね な い こ と に 注 意 し て い た だ き た い 。 ユ ー ザ が root と し て 任 意 の コ マ ン ド を 、 ロ グ に 記 録 さ れ る こ と な く 実 行 で き る よ う に な る か ら だ 。 こ う し た 環 境 変 数 を 利 用 す る と き の 、 env_editor を 有 効 に す る よ り も 安 全 な 方 法 は 、 sudoers フ ァ イ ル の editor オ プ シ ョ ン に コ ロ ン で 区 切 っ た エ デ ィ タ の リ ス ト を 書 い て お く こ と だ 。 そ う す れ ば 、 visudo が EDITOR や VISUAL を 使 う の は 、 そ れ が editor オ プ シ ョ ン に 指 定 し た 値 と マ ッ チ し た と き だ け に な る 。 env_reset フ ラ グ が 有 効 な 場 合 に 、 sudo 経 由 で visudo を 起 動 し た と き env_editor フ ラ グ が 効 果 を 持 つ た め に は 、 環 境 変 数 EDITOR や VISUAL が env_keep の リ ス ト に 存 在 し て い な け れ ば な ら な い 。 こ の フ ラ グ は デ フ ォ ル ト で は off で あ る 。

env_reset こ れ を セ ッ ト す る と 、

sudo は 最 小 限 の 環 境 で コ マ ン ド を 実

行 す る こ と に な る 。 そ の 環 境 に は 、 以 下 の 変 数 が 含 ま れ て い る 。 TERM, PATH, HOME, MAIL, SHELL, LOGNAME, USER, USERNAME、 及 び SUDO_* と い う 変 数 。 そ れ に 、 sudo を 起 動 す る ユ ー ザ の 環 境 に あ る 変 数 の う ち 、 env_keepenv_check の リ ス ト に マ ッ チ す る も の が 加 わ り 、 さ ら に 、 env_file オ プ シ ョ ン に よ っ て 指 定 さ れ た フ ァ イ ル が あ れ ば 、 そ の フ ァ イ ル に 記 載 さ れ た す べ て の 変 数 が 追 加 さ れ る 。 env_keepenv_check の リ ス ト に ど ん な 変 数 が 存 在 す る か に つ い て は 、 root ユ ー ザ と し て sudo−V オ プ シ ョ ン を 付 け て 実 行 す れ ば 、 sudoers 中 で グ ロ ー バ ル な Defaults パ ラ メ ー タ に よ っ て 変 更 さ れ た 結 果 を 、 見 る こ と が で き る 。 な お 、 secure_path オ プ シ ョ ン が 設 定 さ れ て い る と き は 、 そ の 値 が 環 境 変 数 PATH の 値 と し て 使 用 さ れ る 。 こ の フ ラ グ は デ フ ォ ル ト で は on で あ る 。

fast_glob 通 常

sudo は パ ス 名 の マ ッ チ ン グ を す る と き 、 glob(3)関 数

を 使 用 し て 、 シ ェ ル ・ ス タ イ ル の ワ イ ル ド カ ー ド 展 開 (glob) を 行 う 。 し か し 、 glob(3) は フ ァ イ ル シ ス テ ム に ア ク セ ス す る の で 、 指 定 パ タ ー ン に よ っ て は 、 作 業 を 完 了 す る ま で に 時 間 が か か る こ と が あ る 。 必 要 な 時 に マ ウ ン ト す る よ う に な っ て い る (つ ま り オ ー ト マ ウ ン ト の ) ネ ッ ト ワ ー ク ・ フ ァ イ ル ・ シ ス テ ム を 参 照 す る と き は 、 と り わ け 時 間 が か か る 。 fast_glob オ プ シ ョ ン を 指 定 す る と 、 sudofnmatch(3) 関 数 を 使 う よ う に な る が 、 こ ち ら の 関 数 は マ ッ チ ン グ を 行 う 際 に フ ァ イ ル シ ス テ ム に ア ク セ ス し な い 。 fast_glob の 欠 点 は 、 ./ls../bin/ls の よ う な 相 対 パ ス に 対 す る マ ッ チ が で き な い こ と で あ る 。 そ の た め 、 ワ イ ル ド カ ー ド を 含 む パ ス 名 が 、 否 定 演 算 子 ’!’ と 一 緒 に 使 わ れ て い る 場 合 に 、 セ キ ュ リ テ ィ 上 の 問 題 が 生 じ る お そ れ が あ る 。 そ う し た ル ー ル は 簡 単 に 迂 回 で き る か ら だ 。 従 っ て 、 sudoers フ ァ イ ル に 、 ワ イ ル ド カ ー ド を 含 む パ ス 名 を 否 定 す る ル ー ル が 存 在 す る 場 合 は 、 こ の オ プ シ ョ ン を 使 っ て は い け な い 。 こ の フ ラ グ は デ フ ォ ル ト で は off で あ る 。

fqdn ロ ー カ ル ・ ホ ス ト 名

(hostname コ マ ン ド が 返 す も の ) が ド

メ イ ン 名 を 含 ま な い と き 、 sudoers フ ァ イ ル で 完 全 修 飾 ホ ス ト 名 を 使 用 し た か っ た ら 、 こ の フ ラ ッ グ を セ ッ ト す る と よ い 。 す な わ ち 、 myhost で は な く 、 myhost.mydomain.edu を 使 い た い 場 合 だ 。 そ の と き で も 、 そ う し た け れ ば 、 短 縮 形 も 使 用 で き る (両 方 を 混 ぜ て 使 う こ と も で き る )。 こ の オ プ シ ョ ン に 効 果 が あ る の は 、 getaddrinfo() や gethostbyname() 関 数 が 返 す ホ ス ト の 「 正 規 名 (canonical name)」 が 、 完 全 修 飾 ド メ イ ン 名 で あ る と き だ け で あ る 。 シ ス テ ム が ホ ス ト 名 の 解 決 に DNS を 使 用 す る よ う に 設 定 さ れ て い る と き は 、 普 通 そ う な る 。 シ ス テ ム が DNS よ り も 優 先 し て /etc/hosts を 使 用 す る よ う に 設 定 さ れ て い る 場 合 、 ホ ス ト の 正 規 名 は 完 全 修 飾 名 で は な い か も し れ な い 。 ホ ス ト 名 解 決 の た め に 問 い 合 わ せ る 情 報 源 の 順 番 は 、 普 通 /etc/nsswitch.conf, /etc/netsvc.conf, /etc/host.conf フ ァ イ ル で 指 定 さ れ て い る 。 /etc/resolv.conf の こ と も あ る 。 /etc/hosts フ ァ イ ル で は 、 エ ン ト リ の 最 初 の ホ ス ト 名 が 正 規 名 と 見 な さ れ る 。 後 に 続 く 名 前 は エ イ リ ア ス で あ り 、 sudoers に よ っ て 使 用 さ れ る こ と は な い 。 た と え ば 、 hosts フ ァ イ ル に "xyzzy" と い う マ シ ン に つ い て 下 記 の 行 が あ る と き 、 完 全 修 飾 ド メ イ ン 名 が ホ ス ト の 正 規 名 で あ り 、 短 い 方 の 名 前 は エ イ リ ア ス で あ る 。

192.168.1.1 xyzzy.sudo.ws xyzzy

hosts フ ァ イ ル に お け る マ シ ン の エ ン ト リ の 書 式 が 不 適 切 だ と 、 hosts フ ァ イ ル へ の 問 い 合 わ せ が DNS よ り 前 に 行 わ れ る 場 合 、 fqdn オ プ シ ョ ン を 指 定 し て も 、 効 果 が な い 。 気 を 付 け て ほ し い の は 、 ホ ス ト 名 の 解 決 に DNS を 使 用 す る 場 合 、 fqdn 有 効 に す る と 、 sudoers は DNS に 問 い 合 わ せ を し な け れ ば な ら な い の で 、 DNS が 稼 働 し て い な い と (た と え ば 、 マ シ ン が ネ ッ ト ワ ー ク か ら 切 り 離 さ れ て い る と )、 sudo が 使 え な く な る と い う こ と で あ る 。 も う 一 つ 気 を 付 け る べ き こ と が あ る 。 hosts フ ァ イ ル を 使 用 す る 場 合 と 同 じ こ と だ が 、 DNS が 知 っ て い る ホ ス ト の 正 規 名 を 使 わ な け れ ば な ら な い 。 言 い 換 え れ ば 、 ホ ス ト の エ イ リ ア ス (CNAME の エ ン ト リ ) を 使 っ て は い け な い 。 パ フ ォ ー マ ン ス の 問 題 も あ る し 、 DNS か ら エ イ リ ア ス を す べ て 取 得 す る 方 法 は な い か ら で も あ る 。 こ の フ ラ グ は デ フ ォ ル ト で は off で あ る 。

ignore_dot こ れ を セ ッ ト す る と 、 環 境 変 数

PATH 中 に "." や "" (ど

ち ら も カ レ ン ト デ ィ レ ク ト リ を 意 味 す る ) が あ っ て も 、 sudo は そ れ を 無 視 す る 。 PATH そ の も の は 変 更 さ れ な い 。 こ の フ ラ グ は デ フ ォ ル ト で は off で あ る 。

ignore_local_sudoers

LDAP の 方 で こ の フ ラ グ を セ ッ ト す る と 、 /etc/sudoers の 解 析 が ス キ ッ プ さ れ る こ と に な る 。 こ の フ ラ グ は 、 ロ ー カ ル に あ る sudoers フ ァ イ ル の 使 用 を 禁 じ て 、 LDAP の み を 使 う よ う に し た い 諸 企 業 の た め に あ る 。 た ち の 悪 い オ ペ レ ー タ が /etc/sudoers に 手 を 加 え て 、 自 分 の 権 限 を 増 や そ う と し て も 、 そ う し た 悪 だ く み は 阻 止 さ れ る わ け だ 。 こ の オ プ シ ョ ン が 設 定 さ れ て い る と き は 、 /etc/sudoers フ ァ イ ル は 存 在 す る 必 要 す ら な い 。 こ の オ プ シ ョ ン は 、 LDAP 中 に 、 マ ッ チ す る 特 定 の エ ン ト リ が 存 在 し な か っ た と き に 、 い か に 振 舞 う べ き か を sudo に 指 示 す る も の だ か ら 、 こ れ を 指 定 す る sudoOption は 、 cn=defaults の セ ク シ ョ ン に な け れ ば 意 味 が な い 。 こ の フ ラ グ は デ フ ォ ル ト で は off で あ る 。

insults こ れ を セ ッ ト す る と 、 不 正 な パ ス ワ ー ド が 入 力 さ れ た と き 、

sudo が ユ ー ザ に 悪 態 を つ く 。 こ の フ ラ グ は デ フ ォ ル ト で は off で あ る 。

log_host こ れ を セ ッ ト す る と 、 ホ ス ト 名 が

(syslog 経 由 で は な い )

sudo の ロ グ フ ァ イ ル に 記 録 さ れ る こ と に な る 。 こ の フ ラ グ は デ フ ォ ル ト で は off で あ る 。

log_input こ れ を セ ッ ト す る と 、

sudo は 、 擬 似 tty で コ マ ン ド を 実

行 し 、 ユ ー ザ の 入 力 を す べ て ロ グ に 取 る こ と に な る 。 入 出 力 が リ ダ イ レ ク ト さ れ て い る と か 、 コ マ ン ド が パ イ プ ラ イ ン の 一 部 だ と か い う 理 由 で 、 標 準 入 力 が ユ ー ザ の tty に 結 び つ け ら れ て い な い 場 合 で も 、 そ の 入 力 は や は り キ ャ プ チ ャ ー さ れ 、 独 立 し た ロ グ フ ァ イ ル に 書 き 込 ま れ る 。 よ り 詳 し い 情 報 に つ い て は 、 「 入 出 力 ロ グ フ ァ イ ル 」 セ ク シ ョ ン を ご 覧 に な る と よ い 。 こ の フ ラ グ は デ フ ォ ル ト で は off で あ る 。

log_output こ れ を セ ッ ト す る と 、

sudo は 、 擬 似 tty で コ マ ン ド を 実

行 し 、 ス ク リ ー ン に 送 ら れ た す べ て の 出 力 を ロ グ に 取 る こ と に な る 。 script(1) コ マ ン ド と 似 た こ と を や る わ け だ 。 よ り 詳 し い 情 報 に つ い て は 、 「 入 出 力 ロ グ フ ァ イ ル 」 セ ク シ ョ ン を ご 覧 に な る と よ い 。 こ の フ ラ グ は デ フ ォ ル ト で は off で あ る 。

log_year こ れ を セ ッ ト す る と 、 四 桁 の 年 が

(syslog 経 由 で は な い )

sudo の ロ グ フ ァ イ ル に 記 入 さ れ る こ と に な る 。 こ の フ ラ グ は デ フ ォ ル ト で は off で あ る 。

long_otp_prompt

S/KeyOPIE の よ う な One Time Password (OTP) ス キ ー ム を 採 用 し て い る と き に こ れ を 有 効 に す る と 、 チ ャ レ ン ジ を ロ ー カ ル ウ ィ ン ド ウ に カ ッ ト ・ ア ン ド ・ ペ ー ス ト し や す い よ う に 、 二 行 の プ ロ ン プ ト が 使 用 さ れ る 。 デ フ ォ ル ト の プ ロ ン プ ト ほ ど 見 栄 え は よ く な い が 、 こ ち ら の 方 が 便 利 だ と 思 う 人 も い る 。 こ の フ ラ グ は デ フ ォ ル ト で は off で あ る 。

mail_all_cmnds

ユ ー ザ が sudo 経 由 で コ マ ン ド の 実 行 を 試 み る た び に (sudoedit の 実 行 も 含 む )、 mailto ユ ー ザ に メ ー ル を 送 付 す る 。 た だ し 、 ユ ー ザ が sudo−l−v オ プ シ ョ ン を 付 け て 実 行 し た と き は 、 認 証 エ ラ ー が あ り 、 し か も mail_badpass フ ラ グ が セ ッ ト さ れ て い な い か ぎ り 、 メ ー ル を 送 付 す る こ と は な い 。 こ の フ ラ グ は デ フ ォ ル ト で は off で あ る 。

mail_always

ユ ー ザ が sudo を 実 行 す る た び に 、 mailto ユ ー ザ に メ ー ル を 送 る 。 こ の フ ラ グ は デ フ ォ ル ト で は off で あ る 。
mail_badpass

sudo を 実 行 す る ユ ー ザ が 正 し い パ ス ワ ー ド を 入 力 し な か っ た ら 、 mailto ユ ー ザ に メ ー ル を 送 付 す る 。 ユ ー ザ が 実 行 し よ う と し て い る コ マ ン ド が sudoers に よ っ て 許 可 さ れ て い な い 場 合 に 、 mail_all_cmnds, mail_always, mail_no_host, mail_no_perms, mail_no_user フ ラ グ の ど れ か が セ ッ ト さ れ て い る と 、 こ の フ ラ グ は 効 果 を 持 た な い こ と に な る 。 こ の フ ラ グ は デ フ ォ ル ト で は off で あ る 。

mail_no_host

こ れ を セ ッ ト す る と 、 sudo を 起 動 し た ユ ー ザ が sudoers フ ァ イ ル に 記 載 さ れ て は い る も の の 、 使 用 中 の ホ ス ト で コ マ ン ド の 実 行 を 許 可 さ れ て い な い 場 合 に 、 mailto ユ ー ザ に メ ー ル を 送 付 す る 。 こ の フ ラ グ は デ フ ォ ル ト で は off で あ る 。

mail_no_perms

こ れ を セ ッ ト す る と 、 sudo を 起 動 し た ユ ー ザ が sudo の 使 用 を 許 可 さ れ て い る が 、 実 行 し よ う と し て い る コ マ ン ド が sudoers フ ァ イ ル の そ の ユ ー ザ の エ ン ト リ に 登 録 さ れ て い な い か 、 明 示 的 に 禁 止 さ れ て い る 場 合 に 、 mailto ユ ー ザ に メ ー ル を 送 付 す る 。 こ の フ ラ グ は デ フ ォ ル ト で は off で あ る 。

mail_no_user

こ れ を セ ッ ト す る と 、 sudo を 起 動 し た ユ ー ザ が sudoers フ ァ イ ル に 記 載 さ れ て い な い 場 合 に 、 mailto ユ ー ザ に メ ー ル を 送 付 す る 。 こ の フ ラ グ は デ フ ォ ル ト で は on で あ る 。

netgroup_tuple

こ れ を セ ッ ト す る と 、 ネ ッ ト グ ル ー プ の 検 索 が ネ ッ ト グ ル ー プ の タ プ ル 全 部 を 使 っ て 行 わ れ る こ と に な る (す な わ ち 、 ホ ス ト 名 、 ユ ー ザ 名 、 ド メ イ ン の 三 つ が 、 そ れ ぞ れ 設 定 さ れ て い る な ら ば 、 使 用 さ れ る )。 従 来 の sudo で は 、 User_List で 使 用 さ れ る ネ ッ ト グ ル ー プ に つ い て は 、 ユ ー ザ 名 と ド メ イ ン だ け を 照 合 し 、 Host_List で 使 用 さ れ る ネ ッ ト グ ル ー プ に つ い て は 、 ホ ス ト 名 と ド メ イ ン だ け を 照 合 し て い た 。 こ の フ ラ グ は デ フ ォ ル ト で は off で あ る 。

noexec

こ れ を セ ッ ト す る と 、 sudo を 通 し て 実 行 さ れ る す べ て の コ マ ン ド が 、 EXEC タ グ で 無 効 に さ れ な い か ぎ り 、 あ た か も NOEXEC タ グ が 設 定 さ れ て い る か の ご と く 振 舞 う よ う に な る 。 前 述 の 「 EXECNOEXEC」 の 説 明 、 お よ び 、 こ の マ ニ ュ ア ル の 終 わ り の 方 に あ る 「 シ ェ ル ・ エ ス ケ ー プ の 防 止 」 と い う セ ク シ ョ ン を 参 照 し て い た だ き た い 。 こ の フ ラ グ は デ フ ォ ル ト で は off で あ る 。

pam_session

認 証 に PAM を 使 用 す る シ ス テ ム で は 、 sudo は 新 し い PAM セ ッ シ ョ ン を 作 成 し 、 そ の 中 で コ マ ン ド を 実 行 す る 。 PAM の 実 装 が 古 い 場 合 や 、 PAM セ ッ シ ョ ン の 開 始 が utmp や wtmp フ ァ イ ル を 変 更 す る オ ペ レ ー テ ィ ン グ シ ス テ ム で は 、 pam_session を 無 効 に す る 必 要 が あ る か も し れ な い 。 た だ し 、 PAM セ ッ シ ョ ン の サ ポ ー ト を 無 効 に す る と 、 実 行 さ れ る コ マ ン ド に 対 す る リ ソ ー ス の 上 限 が 更 新 さ れ な い か も し れ な い 。 な お 、 pam_session, pam_setcred, use_pty が 無 効 に な っ て い て 、 し か も 入 出 力 ロ ギ ン グ が 設 定 さ れ て い な い 場 合 は 、 sudo は コ マ ン ド を 子 プ ロ セ ス と し て で は な く 、 直 接 実 行 す る 。 こ の フ ラ グ は デ フ ォ ル ト で は on で あ る 。 こ の 設 定 は 、 バ ー ジ ョ ン 1.8.7 以 上 で の み サ ポ ー ト さ れ て い る 。

pam_setcred

認 証 に PAM を 使 用 す る シ ス テ ム で は 、 sudo は デ フ ォ ル ト で は 、 使 用 し て い る 認 証 シ ス テ ム が サ ポ ー ト し て い る な ら 、 変 身 対 象 ユ ー ザ の 認 証 情 報 (credential) が 有 効 で あ る こ と を 確 認 し よ う と す る 。 認 証 情 報 の 例 を 一 つ 挙 げ れ ば 、 Kerberos の チ ケ ッ ト が そ れ で あ る 。 pam_session, pam_setcred, use_pty が 無 効 に な っ て い て 、 し か も 入 出 力 ロ ギ ン グ が 設 定 さ れ て い な い 場 合 は 、 sudo は コ マ ン ド を 子 プ ロ セ ス と し て で は な く 、 直 接 実 行 す る 。 こ の フ ラ グ は デ フ ォ ル ト で は on で あ る 。 こ の 設 定 は 、 バ ー ジ ョ ン 1.8.8 以 上 で の み サ ポ ー ト さ れ て い る 。

passprompt_override 通 常 、 passprompt オ プ シ ョ ン に よ っ て 指 定 さ れ た パ ス ワ ー ド プ ロ ン プ ト が 使 用 さ れ る の は 、 PAM の よ う な シ ス テ ム が 用 意 し て い る パ ス ワ ー ド プ ロ ン プ ト が 、 "Password:" と い う 文 字 列 に マ ッ チ し て い る と き だ け で あ る 。 passprompt_override を セ ッ ト す る と 、 passprompt が 無 条 件 で 使 わ れ る こ と に な る 。 こ の フ ラ グ は デ フ ォ ル ト で は off で あ る 。

path_info 通 常

sudo は 、 環 境 変 数 PATH 中 に コ マ ン ド が 見 付 か ら な

い と 、 ユ ー ザ に そ の 旨 を 知 ら せ る 。 こ れ を 利 用 す れ ば 、 一 般 ユ ー ザ に ア ク セ ス 権 の な い 実 行 フ ァ イ ル の あ り か に つ い て 情 報 を 収 集 で き る と い う 理 由 か ら 、 こ の 動 作 を 無 効 に し た い サ イ ト も あ る か も し れ な い 。 そ の 場 合 の 欠 点 は 、 実 行 フ ァ イ ル が 単 に ユ ー ザ の PATH 中 に な か っ た だ け の 場 合 で も 、 実 行 の 許 可 が な い と sudo が ユ ー ザ に 告 げ る こ と に な っ て 、 実 情 が わ か り に く い か も し れ な い こ と で あ る 。 こ の フ ラ グ は デ フ ォ ル ト で は on で あ る 。

preserve_groups デ フ ォ ル ト で は 、

sudo は 所 属 グ ル ー プ の 初 期 値 と し て 、

変 身 対 象 ユ ー ザ が 所 属 し て い る グ ル ー プ の リ ス ト を 設 定 す る 。 preserve_groups を セ ッ ト す る と 、 sudo を 実 行 す る ユ ー ザ の 所 属 グ ル ー プ の リ ス ト が 、 変 更 さ れ ず に そ の ま ま 維 持 さ れ る 。 と は 言 え 、 実 グ ル ー プ ID や 実 効 グ ル ー プ ID が 、 変 身 対 象 ユ ー ザ の そ れ に 設 定 さ れ る こ と に 変 わ り は な い 。 こ の フ ラ グ は デ フ ォ ル ト で は off で あ る 。

pwfeedback ほ か の た い て い の

Unix の プ ロ グ ラ ム と 同 様 、 sudo は パ

ス ワ ー ド を 読 み 込 む と き 、 デ フ ォ ル ト で は 、 ユ ー ザ が Return (ま た は Enter) キ ー を 押 す ま で 、 エ コ ー を off に す る 。 こ の 動 作 に と ま ど う ユ ー ザ が 存 在 す る 。 彼 ら に は sudo が 急 に 反 応 し な く な っ た よ う に 見 え る の だ 。 pwfeedback を セ ッ ト す る と 、 ユ ー ザ が キ ー を 押 す た び に 、 sudo が 目 に 見 え る 反 応 を 返 す よ う に な る 。 こ れ に は 、 セ キ ュ リ テ ィ 上 の 問 題 が あ る こ と に 注 意 し て い た だ き た い 。 側 で 見 て い る 人 が 、 打 ち 込 ま れ た パ ス ワ ー ド の 文 字 数 を 特 定 で き て し ま う か も し れ な い の だ 。 こ の フ ラ グ は デ フ ォ ル ト で は off で あ る 。

requiretty こ れ を セ ッ ト す る と 、

sudo が 実 行 さ れ る の は 、 ユ ー ザ が 実

際 の tty に ロ グ イ ン し た と き だ け に な る 。 す な わ ち 、 sudo を 実 行 で き る の は 、 ロ グ イ ン ・ セ ッ シ ョ ン か ら だ け で あ っ て 、 cron(8) や cgi−bin ス ク リ プ ト と い っ た 、 ほ か の 方 法 を 介 し て 実 行 す る こ と は で き な い と い う こ と だ 。 こ の フ ラ グ は 、 デ フ ォ ル ト で は off で あ る 。

root_sudo こ れ を セ ッ ト す る と 、

root も sudo を 実 行 で き る よ う に な

る 。 こ の フ ラ グ を 無 効 に す る と 、 ユ ー ザ が た と え ば "sudo sudo /bin/sh" と い っ た よ う に sudo コ マ ン ド を 「 連 鎖 的 に 」 使 っ て 、 ル ー ト シ ェ ル を 獲 得 す る こ と が で き な く な る 。 と こ ろ で 、 root_sudo が off だ と 、 root が sudoedit ま で 実 行 で き な く な る こ と に 注 意 し て い た だ き た い 。 root_sudo を 無 効 に し て も 、 セ キ ュ リ テ ィ が 実 際 に 向 上 す る わ け で は な い 。 こ の フ ラ グ が 存 在 し て い る の は 、 も っ ぱ ら 歴 史 的 な 理 由 か ら な の だ 。 こ の フ ラ グ は デ フ ォ ル ト で は on で あ る 。

rootpw こ れ を セ ッ ト す る と 、

sudo は 、 コ マ ン ド を 実 行 し た り 、

フ ァ イ ル を 編 集 し た り す る と き 、 起 動 し た ユ ー ザ の パ ス ワ ー ド で は な く 、 root の パ ス ワ ー ド を 要 求 す る よ う に な る 。 こ の フ ラ グ は デ フ ォ ル ト で は off で あ る 。

runaspw こ れ を セ ッ ト す る と 、

sudo は 、 コ マ ン ド を 実 行 し た り 、

フ ァ イ ル を 編 集 し た り す る と き 、 起 動 し た ユ ー ザ の パ ス ワ ー ド で は な く 、 sudoers フ ァ イ ル の runas_default オ プ シ ョ ン で 指 定 し て い る ユ ー ザ ー の (デ フ ォ ル ト で は root で あ る ) パ ス ワ ー ド を 要 求 す る よ う に な る 。 こ の フ ラ グ は デ フ ォ ル ト で は off で あ る 。

set_home こ れ が 有 効 な と き に

sudo−s オ プ シ ョ ン 付 き で 起 動 す

る と 、 環 境 変 数 HOME が 変 身 対 象 ユ ー ザ の (−u オ プ シ ョ ン が 使 用 さ れ な い か ぎ り 、 そ れ は root で あ る ) ホ ー ム デ ィ レ ク ト リ に 設 定 さ れ る 。 す な わ ち 、 −s オ プ シ ョ ン が −H オ プ シ ョ ン を 事 実 上 兼 ね る こ と に な る わ け だ 。 気 を つ け て ほ し い の は 、 env_reset が 有 効 な 場 合 、 HOME は す で に (訳 注 : 変 身 対 象 ユ ー ザ の ホ ー ム デ ィ レ ク ト リ に ) 設 定 済 み だ と い う こ と だ 。 だ か ら 、 set_home の 効 果 が あ る の は 、 env_reset が 無 効 に 設 定 さ れ て い る か 、 env_keep の リ ス ト に HOME が 存 在 す る 場 合 だ け で あ る 。 こ の フ ラ グ は デ フ ォ ル ト で は off で あ る 。

set_logname 通 常

sudo は 環 境 変 数 LOGNAME, USER, USERNAME を 変 身 対

象 ユ ー ザ の 名 前 (−u オ プ シ ョ ン が 指 定 さ れ て い な い 場 合 、 普 通 は root) に セ ッ ト す る 。 し か し 、 プ ロ グ ラ ム に よ っ て は (た と え ば 、 RCS リ ビ ジ ョ ン コ ン ト ロ ー ル シ ス テ ム が そ の 一 つ だ が ) ユ ー ザ が 実 際 に は 誰 で あ る か を 判 定 す る の に LOGNAME を 使 用 し て い る こ と が あ り 、 そ の た め 、 こ の 振 舞 い を 変 更 し た い 場 合 も あ る 。 set_logname オ プ シ ョ ン に ’!’ を 付 け て 否 定 す る こ と で 、 そ れ が で き る 。 な お env_reset オ プ シ ョ ン を 無 効 に し て い な い 場 合 に 、 env_keep の リ ス ト に LOGNAME, USER, USERNAME な ど が 入 っ て い る と 、 set_logname は 効 果 を 持 た な い の で 、 注 意 し て い た だ き た い 。 こ の フ ラ グ は デ フ ォ ル ト で は on で あ る 。

set_utmp こ れ が 有 効 に な っ て い る と 、

sudo は 擬 似 tty を 割 り 当 て

る と き に 、 utmp (ま た は utmpx) フ ァ イ ル に エ ン ト リ を 作 成 す る 。 sudo に よ っ て 擬 似 tty の 割 り 当 て が 行 わ れ る の は 、 log_input, log_output, use_pty と い っ た フ ラ グ が 有 効 に な っ て い る と き で あ る 。 デ フ ォ ル ト で は 、 新 し い エ ン ト リ は 、 そ の ユ ー ザ の utmp エ ン ト リ が 存 在 す れ ば 、 そ の コ ピ ー で あ り 、 tty, time, type, pid フ ィ ー ル ド が 更 新 さ れ る 。 こ の フ ラ グ は デ フ ォ ル ト で は on で あ る 。

setenv こ れ を セ ッ ト す る と 、 ユ ー ザ が コ マ ン ド ラ イ ン で

−E オ プ

シ ョ ン を 指 定 し て 、 env_reset オ プ シ ョ ン を 無 効 に で き る よ う に な る 。 さ ら に 、 コ マ ン ド ラ イ ン か ら 設 定 す る 環 境 変 数 が env_check, env_delete, env_keep に よ る 制 限 を 受 け な く な る 。 そ れ 故 、 そ の よ う な や り 方 で 変 数 を 設 定 す る こ と を 許 可 す る の は 、 信 用 で き る ユ ー ザ の み に 限 る べ き だ 。 こ の フ ラ グ は デ フ ォ ル ト で は off で あ る 。

shell_noargs こ れ が セ ッ ト さ れ て い る と き 、

sudo を 引 き 数 な し で 起 動 す

る と 、 sudo−s オ プ シ ョ ン が 指 定 さ れ た か の よ う に 振 舞 う 。 す な わ ち 、 root ユ ー ザ と し て シ ェ ル を 実 行 す る わ け だ (シ ェ ル は 、 環 境 変 数 SHELL が セ ッ ト さ れ て い れ ば 、 そ れ に よ っ て 決 ま り 、 セ ッ ト さ れ て い な け れ ば 、 sudo を 起 動 し た ユ ー ザ の /etc/passwd エ ン ト リ に 登 録 さ れ た も の に な る )。 こ の フ ラ グ は デ フ ォ ル ト で は off で あ る 。

stay_setuid 通 常

sudo は 、 コ マ ン ド を 実 行 す る と き 、 実 UID と 実 効

UID を 変 身 対 象 ユ ー ザ (デ フ ォ ル ト で は root) の も の に セ ッ ト す る 。 こ の オ プ シ ョ ン は 、 そ の 振 舞 い を 変 更 し て 、 sudo を 起 動 し た ユ ー ザ の UID が 、 そ の ま ま 実 UID と し て 残 る よ う に す る の だ 。 言 い 換 え る と 、 こ の オ プ シ ョ ン は sudo を setuid ラ ッ パ ー と し て 動 作 す る よ う に す る わ け で あ る 。 プ ロ グ ラ ム を setuid で 動 か す と 、 危 険 を も た ら し か ね な い と い う 理 由 か ら 、 あ る 種 の 機 能 を 使 え な い よ う に し て い る シ ス テ ム で は 、 こ の オ プ シ ョ ン が 役 に 立 つ か も し れ な い 。 こ の オ プ シ ョ ン は 、 シ ス テ ム コ ー ル の setreuid() や setresuid() を サ ポ ー ト し て い る シ ス テ ム で の み 有 効 で あ る 。 こ の フ ラ グ は デ フ ォ ル ト で は off で あ る 。

sudoedit_checkdir こ れ を セ ッ ト す る と 、

sudoedit は 、 編 集 対 象 フ ァ イ ル の

パ ス 中 に あ る デ ィ レ ク ト リ 部 分 の す べ て に つ い て 、 sudoedit を 実 行 す る ユ ー ザ と っ て 書 き 込 み 可 能 か ど う か を 、 チ ェ ッ ク す る こ と に な る 。 ユ ー ザ に 書 き 込 み 可 能 な デ ィ レ ク ト リ に 存 在 す る い か な る シ ン ボ リ ッ ク リ ン ク も 、 た ど ら れ る こ と が な く 、 ま た 、 ユ ー ザ に 書 き 込 み 可 能 な デ ィ レ ク ト リ に あ る フ ァ イ ル の 編 集 は 、 拒 否 さ れ る こ と に な る 。 た だ し 、 こ う し た 制 限 は 、 sudoedit を 実 行 す る ユ ー ザ が root の 場 合 に は 、 行 わ れ な い 。 シ ス テ ム に よ っ て は 、 編 集 対 象 フ ァ イ ル の パ ス 中 に あ る デ ィ レ ク ト リ 部 分 の す べ て が 、 変 身 対 象 ユ ー ザ に と っ て 読 み 込 み 可 能 で な い か ぎ り 、 sudoedit で フ ァ イ ル を 編 集 で き な い も の も あ る 。 こ の フ ラ グ は デ フ ォ ル ト で は on で あ る 。 こ の 設 定 が 最 初 に 導 入 さ れ た の は 、 バ ー ジ ョ ン 1.8.15 だ っ た が 、 当 初 の も の に は 競 合 状 態 を 引 き 起 こ す 欠 陥 が あ っ た 。 編 集 対 象 フ ァ イ ル の パ ス の 途 中 に 書 き 込 み 可 能 な デ ィ レ ク ト リ が あ り 、 そ こ に シ ン ボ リ ッ ク リ ン ク が 存 在 す る 場 合 の チ ェ ッ ク は 、 バ ー ジ ョ ン 1.8.16 で 追 加 さ れ た 。

sudoedit_follow

sudoedit は デ フ ォ ル ト で は 、 フ ァ イ ル を オ ー プ ン す る と き に シ ン ボ リ ッ ク リ ン ク を た ど ら な い 。 sudoedit_follow オ プ シ ョ ン を 有 効 に す る と 、 sudoedit が シ ン ボ リ ッ ク リ ン ク を オ ー プ ン で き る よ う に な る 。 そ う し た 動 作 は FOLLOWNOFOLLOW タ グ を 使 え ば 、 コ マ ン ド ご と に 変 更 す る こ と が で き る 。 こ の フ ラ グ は デ フ ォ ル ト で は off で あ る 。 こ の 設 定 は 、 バ ー ジ ョ ン 1.8.15 以 上 で の み サ ポ ー ト さ れ て い る 。

targetpw

こ れ を セ ッ ト す る と 、 sudo は 、 コ マ ン ド を 実 行 し た り 、 フ ァ イ ル を 編 集 し た り す る と き 、 起 動 し た ユ ー ザ の パ ス ワ ー ド で は な く 、 −u オ プ シ ョ ン で 指 定 さ れ た ユ ー ザ (デ フ ォ ル ト で は root) の パ ス ワ ー ド を 要 求 す る よ う に な る 。 こ の フ ラ グ を 設 定 を す る と 、 −u オ プ シ ョ ン の 引 き 数 と し て 、 passwd デ ー タ ベ ー ス に 登 録 さ れ て い な い uid が 使 え な く な る こ と に 注 意 し て ほ し い 。 こ の フ ラ グ は デ フ ォ ル ト で は off で あ る 。

tty_tickets

こ れ を セ ッ ト す る と 、 ユ ー ザ は tty ご と に 認 証 を し な け れ ば な ら な く な る 。 こ の フ ラ グ が 有 効 な 場 合 、 sudo は 、 各 tty に 対 し て 、 タ イ ム ス タ ン プ ・ フ ァ イ ル 中 の 、 そ れ ぞ れ 別 個 に 記 録 さ れ る 情 報 を 使 用 す る こ と に な る 。 そ れ に 対 し て 、 こ の フ ラ グ が 無 効 な 場 合 は 、 す べ て の ロ グ イ ン ・ セ ッ シ ョ ン に 対 し て 、 単 一 の 記 録 が 使 用 さ れ る の で あ る 。 こ の フ ラ グ は デ フ ォ ル ト で は on で あ る 。

umask_override

こ れ を セ ッ ト す る と 、 sudo は umask を sudoers の umask オ プ シ ョ ン で 指 定 さ れ た と お り の 値 に 、 変 更 を 加 え る こ と な く 設 定 す る 。 こ の こ と に よ っ て 、 ユ ー ザ 自 身 の umask 値 よ り も っ と 緩 や か な umask 値 を sudoers フ ァ イ ル で 指 定 す る こ と が 可 能 に な る 。 sudo の 昔 の 動 作 と 同 じ に な る わ け だ 。 umask_override を セ ッ ト し な い 場 合 、 現 在 の sudo は umask を 、 ユ ー ザ の umask 値 と sudoers で 指 定 し た umask 値 と の ビ ッ ト 和 に 設 定 す る こ と に な っ て い る 。 こ の フ ラ グ は デ フ ォ ル ト で は off で あ る 。

use_netgroups

こ れ を セ ッ ト す る と 、 ユ ー ザ や ホ ス ト を 指 定 す る 場 所 で ネ ッ ト グ ル ー プ (接 頭 辞 ’+’ が 付 く ) が 使 え る よ う に な る 。 LDAP を 使 用 す る sudoers で は 、 ネ ッ ト グ ル ー プ を サ ポ ー ト す る と 、 /etc/ldap.conf フ ァ イ ル で NETGROUP_BASE 設 定 オ プ シ ョ ン を 指 定 し て い な い 場 合 に 、 サ ー バ 側 で 負 荷 の 高 い 部 分 文 字 列 (substring) の マ ッ チ ン グ を 行 う 必 要 が 生 じ る 。 そ こ で 、 ネ ッ ト グ ル ー プ を 使 用 す る 必 要 が な い 場 合 は 、 こ の オ プ シ ョ ン を off に す れ ば 、 LDAP サ ー バ の 負 荷 を 減 ら す こ と が で き る 。 こ の フ ラ グ は デ フ ォ ル ト で は on で あ る 。

use_pty

こ れ を セ ッ ト す る と 、 sudo は 入 出 力 の ロ ギ ン グ が 行 わ れ て い な い と き で も 、 擬 似 tty で コ マ ン ド を 実 行 す る こ と に な る 。 sudo に よ っ て 実 行 さ れ た 悪 意 の あ る プ ロ グ ラ ム が 、 バ ッ ク グ ラ ウ ン ド ・ プ ロ セ ス を フ ォ ー ク し 、 そ の プ ロ セ ス が 、 メ イ ン プ ロ グ ラ ム の 実 行 が 終 了 し た 後 で も 、 ユ ー ザ の タ ー ミ ナ ル デ バ イ ス を 握 っ て 離 さ な い と い っ た こ と が 考 え ら れ る 。 こ の オ プ シ ョ ン を 使 え ば 、 そ う い っ た こ と が 不 可 能 に な る 。 こ の フ ラ グ は デ フ ォ ル ト で は off で あ る 。

utmp_runas

こ れ を セ ッ ト す る と 、 sudo は utmp (ま た は utmpx) フ ァ イ ル を 更 新 す る と き 、 変 身 対 象 ユ ー ザ の 名 前 を 記 録 す る よ う に な る 。 sudo は デ フ ォ ル ト で は 、 sudo を 実 行 し た ユ ー ザ の 名 前 を 記 録 す る の だ 。 こ の フ ラ グ は デ フ ォ ル ト で は off で あ る 。

visiblepw

デ フ ォ ル ト で は 、 ユ ー ザ が パ ス ワ ー ド を 入 力 し な け れ ば な ら な い と き に 、 使 用 し て い る タ ー ミ ナ ル で エ コ ー の 抑 制 が で き な か っ た ら 、 sudo は 実 行 を 拒 否 す る よ う に な っ て い る 。 そ れ に 対 し 、 visiblepw フ ラ グ が 設 定 さ れ て い る と 、 パ ス ワ ー ド が ス ク リ ー ン に 表 示 さ れ て し ま う 場 合 で も 、 sudo は プ ロ ン プ ト を 出 し て 、 パ ス ワ ー ド を 求 め る よ う に な る 。 ssh(1) は デ フ ォ ル ト で は 、 コ マ ン ド を 実 行 す る 際 に tty を 割 り 当 て な い の で 、 sudo は エ コ ー の 抑 制 が で き な い が 、 そ の 場 合 で も 、 こ の 設 定 に よ っ て 、 "ssh somehost sudo ls" と い っ た 操 作 の 実 行 が 可 能 に な る わ け だ 。 こ の フ ラ グ は デ フ ォ ル ト で は off で あ る 。 整 数 :

closefrom

sudo は コ マ ン ド を 実 行 す る 前 に 、 標 準 入 力 、 標 準 出 力 、 標 準 エ ラ ー (す な わ ち 、 フ ァ イ ル デ ィ ス ク リ プ タ 0−2 ) を 除 い て 、 開 い て い る す べ て の フ ァ イ ル ・ デ ィ ス ク リ プ タ を ク ロ ー ズ す る 。 closefrom オ プ シ ョ ン を 使 用 す る と 、 0−2 以 外 の ど の フ ァ イ ル ・ デ ィ ス ク リ プ タ か ら 閉 じ て 行 く か を 指 定 す る こ と が で き る 。 デ フ ォ ル ト は 3 で あ る 。

maxseq

入 出 力 ロ グ フ ァ イ ル で "%{seq}" エ ス ケ ー プ シ ー ケ ン ス に 置 き 換 え ら れ る 連 続 番 号 の 最 大 値 (詳 細 に つ い て は 、 後 述 の iolog_dir オ プ シ ョ ン の 説 明 を 参 照 す る こ と )。 "%{seq}" に 置 き 換 え ら れ る 値 は 36 進 数 だ が 、 maxseq そ の も の は 10 進 数 で 指 定 す る べ き で あ る 。 2176782336 (38 進 数 の 連 続 番 号 で は 、 "ZZZZZZ" に 相 当 す る ) よ り 大 き い 値 は 、 暗 黙 の う ち に 2176782336 に 縮 小 さ れ る 。 デ フ ォ ル ト の 値 は 2176782336 で あ る 。 使 用 し て い る 連 続 番 号 が maxseq の 値 に 達 し た ら 、 最 初 の 値 の 0 に 戻 る 。 そ れ 以 後 は 、 sudoers は 存 在 し て い る 入 出 力 ロ グ フ ァ イ ル を サ イ ズ 0 に 短 縮 し て 、 そ の パ ス 名 を 再 利 用 す る こ と に な る 。 こ の 設 定 は 、 バ ー ジ ョ ン 1.8.7 以 上 で の み サ ポ ー ト さ れ て い る 。
passwd_tries

sudo が 「 失 敗 」 を ロ グ に 記 録 し て 終 了 す る 前 に 、 ユ ー ザ が パ ス ワ ー ド を 入 力 で き る 回 数 。 デ フ ォ ル ト は 3 回 。

真 偽 値 と し て も 使 用 で き る 整 数 :

loglinelen

sudo 独 自 の ロ グ フ ァ イ ル の 一 行 あ た り の 文 字 数 。 こ の 値 は 、 ロ グ フ ァ イ ル を 見 や す く す る た め に 改 行 す る 位 置 を 決 め る の に 使 用 さ れ る 。 こ の 値 は 、 syslog 経 由 の ロ グ フ ァ イ ル に は 影 響 せ ず 、 独 自 の フ ァ イ ル に ロ グ を 記 録 す る と き の み 効 果 が あ る 。 デ フ ォ ル ト は 80 で あ る (改 行 を し な い よ う に す る に は 、 値 を 0 に す る か 、 頭 に ’!’ を 付 け て 、 こ の オ プ シ ョ ン を 否 定 す る )。

passwd_timeout

sudo の パ ス ワ ー ド プ ロ ン プ ト が 時 間 切 れ に な る ま で の 分 単 位 の 時 間 。 0 を 指 定 す る と 、 時 間 切 れ な し に な る 。 分 よ り も も っ と 細 か い 時 間 を 指 定 し た か っ た ら 、 2.5 の よ う に 、 小 数 点 以 下 を 付 け る こ と も で き る 。 デ フ ォ ル ト は 5 分 。

timestamp_timeout

sudo が パ ス ワ ー ド を 再 び 要 求 す る よ う に な る ま で の 時 間 を 分 単 位 で 指 定 す る 。 分 よ り も も っ と 細 か い 時 間 を 指 定 し た か っ た ら 、 2.5 の よ う に 、 小 数 点 以 下 を 付 け る こ と も で き る 。 デ フ ォ ル ト は 5 分 で あ る 。 こ れ を 0 に セ ッ ト す る と 、 毎 回 パ ス ワ ー ド を 要 求 す る よ う に な る 。 0 よ り も 小 さ い 値 に セ ッ ト す る と 、 ユ ー ザ の タ イ ム ス タ ン プ は 、 シ ス テ ム が リ ブ ー ト さ れ る ま で 期 限 切 れ に な ら な い 。 ユ ー ザ が "sudo −v" と "sudo −k" を 実 行 す る こ と に よ っ て 、 タ イ ム ス タ ン プ を 自 分 で 作 っ た り 、 消 し た り で き る よ う に し た か っ た ら 、 こ の 手 を 使 え ば よ い 。

umask

コ マ ン ド を 実 行 す る と き に 使 用 す る umask 値 。 ユ ー ザ の umask 値 を そ の ま ま 使 い た か っ た ら 、 ’!’ を 頭 に 付 け て 、 こ の オ プ シ ョ ン を 否 定 す る か 、 0777 に セ ッ ト す れ ば よ い 。 こ の オ プ シ ョ ン の 値 が 0777 以 外 の 場 合 、 実 際 に 使 用 さ れ る umask 値 は 、 ユ ー ザ の umask 値 と umask オ プ シ ョ ン の 値 と の ビ ッ ト 和 で あ り 、 後 者 の デ フ ォ ル ト は 0022 で あ る 。 こ の こ と に よ っ て 、 sudo が コ マ ン ド を 実 行 す る と き の umask 値 が 、 ユ ー ザ の umask 値 よ り 低 く な ら な い よ う に な っ て い る わ け だ 。 PAM を 使 用 し て い る シ ス テ ム で は 、 PAM の デ フ ォ ル ト 設 定 で umask 値 を 指 定 す る こ と が で き る が 、 そ の 場 合 は 、 そ れ が sudoers で 指 定 す る 値 に 優 先 す る こ と に 注 意 し て い た だ き た い 。 文 字 列 :

badpass_message ユ ー ザ が 不 正 な パ ス ワ ー ド を 入 力 し た と き に 表 示 す る メ ッ セ ー ジ 。

insults フ ラ グ が 有 効 に な っ て い な い か ぎ り 、 デ フ ォ ル ト は 「 Sorry, try again.」 で あ る 。

editor

visudo で 使 用 で き る エ デ ィ タ を コ ロ ン (’:’) で 区 切 っ た リ ス ト 。 visudo は 、 可 能 な ら ば 、 ユ ー ザ の EDITOR 環 境 変 数 や VISUAL 環 境 変 数 と マ ッ チ し た リ ス ト 中 の エ デ ィ タ を 選 択 す る 。 そ れ が で き な い と き は 、 こ の リ ス ト に あ る エ デ ィ タ で 、 実 際 に 存 在 し 、 か つ 実 行 可 能 な 最 初 の エ デ ィ タ を 使 用 す る 。 環 境 変 数 EDITOR や VISUAL は 、 env_reset オ プ シ ョ ン が 有 効 な 場 合 、 デ フ ォ ル ト で は 保 存 さ れ な い こ と に 注 意 し て い た だ き た い 。 デ フ ォ ル ト は vi で あ る 。

iolog_dir

こ の オ プ シ ョ ン の 値 を ト ッ プ レ ベ ル ・ デ ィ レ ク ト リ に し て 、 入 出 力 ロ グ を 置 く デ ィ レ ク ト リ の パ ス 名 が 構 成 さ れ る 。 こ の 値 が 使 用 さ れ る の は 、 log_inputlog_output オ プ シ ョ ン が 有 効 に な っ て い る と き や 、 LOG_INPUT や LOG_OUTPUT タ グ が コ マ ン ド に 付 い て い る と き だ け で あ る 。 こ の デ ィ レ ク ト リ 以 下 に 、 セ ッ シ ョ ン ID が 連 番 な ら ば 、 セ ッ シ ョ ン の 連 番 が (訳 注 : 以 下 の "%{seq}" の 説 明 に あ る よ う な 形 で )  格 納 さ れ る こ と に な る わ け だ 。 デ フ ォ ル ト は /var/log/sudo−io で あ る 。 以 下 の パ ー セ ン ト (’%’) エ ス ケ ー プ シ ー ケ ン ス が 使 用 で き る 。

%{seq} 単 調 に 増 加 す る 36 進 数 の 連 続 番 号 に 展 開 さ れ る 。 た と え ば 、 0100A5 と い っ た 番 号 で あ り 、 二 桁 づ つ 使 っ て 新 し い デ ィ レ ク ト リ を 作 っ て い く 。 こ の 場 合 な ら 、 01/00/A5 と い っ た 具 合 だ 。
%{user}

sudo を 実 行 す る ユ ー ザ ー の ロ グ イ ン 名 に 展 開 さ れ る 。

%{group}

sudo を 実 行 す る ユ ー ザ ー の 実 グ ル ー プ ID の 名 前 に 展 開 さ れ る 。

%{runas_user} 変 身 対 象 ユ ー ザ の ロ グ イ ン 名 に 展 開 さ れ る (た と え ば root)。
%{runas_group} 変 身 対 象 ユ ー ザ の グ ル ー プ 名 に 展 開 さ れ る (た と え ば wheel)。
%{hostname} ド メ イ ン 名 な し の ロ ー カ ル ・ ホ ス ト 名 に 展 開 さ れ る 。
%{command} 実 行 さ れ る コ マ ン ド の ベ ー ス ネ ー ム に 展 開 さ れ る 。 こ の ほ か 、 シ ス テ ム の strftime(3) 関 数 が サ ポ ー ト し て い る エ ス ケ ー プ シ ー ケ ン ス は 、 い か な る も の で も 展 開 の 対 象 に な る 。

’%’ 文 字 そ の も の を 使 い た か っ た ら 、 文 字 列 ’%%’ を 使 用 す れ ば よ い 。

iolog_file

iolog_dir を 基 点 と す る 相 対 パ ス 名 で あ り 、 log_inputlog_output オ プ シ ョ ン が 有 効 に な っ て い た り 、 LOG_INPUT や LOG_OUTPUT タ グ が コ マ ン ド に 付 い て い る 場 合 に 、 入 出 力 ロ グ が こ の 中 に 格 納 さ れ る 。 iolog_file の 値 が 複 数 の デ ィ レ ク ト リ 構 成 要 素 を 含 ん で い る こ と が あ る の に 注 意 し て い た だ き た い 。 デ フ ォ ル ト は "%{seq}" で あ る 。 使 用 で き る パ ー セ ン ト (’%’) エ ス ケ ー プ シ ー ケ ン ス の リ ス ト に つ い て は 、 上 記 の iolog_dir オ プ シ ョ ン を 参 照 。 エ ス ケ ー プ シ ー ケ ン ス の 展 開 と は 別 に 、 パ ス 名 が 六 個 以 上 の X で 終 わ っ て い る 場 合 は 、 X の 部 分 が 、 他 と 重 複 し な い 英 数 字 の 組 み 合 わ せ に 置 き 換 え ら れ る 。 mktemp(3) 関 数 の 場 合 と 同 様 で あ る 。

iolog_diriolog_file を 結 合 し て 作 ら れ る パ ス が す で に 存 在 し て い る 場 合 は 、 iolog_file が 6 個 以 上 の X で 終 わ っ て い な い か ぎ り 、 既 存 の 入 出 力 ロ グ フ ァ イ ル は 、 サ イ ズ 0 に 短 縮 さ れ た 上 で 、 上 書 き さ れ る こ と に な る 。

lecture_status_dir

sudo は こ の デ ィ レ ク ト リ に 、 ユ ー ザ が 訓 戒 を 受 け た か ど う か を 示 す フ ァ イ ル を 、 ユ ー ザ ご と に 入 れ て お く 。 ユ ー ザ が 訓 戒 を 受 け る と 、 サ イ ズ 0 の フ ァ イ ル が こ の デ ィ レ ク ト リ に 作 成 さ れ 、 sudo は そ の ユ ー ザ に 再 び 訓 戒 を 行 わ な く な る 。 こ の デ ィ レ ク ト リ は 、 シ ス テ ム の ブ ー ト 時 に 消 去 す べ き で は な い 。 デ フ ォ ル ト は /var/lib/sudo/lectured で あ る 。

mailsub

mailto ユ ー ザ に 送 付 す る メ ー ル の 件 名 。 エ ス ケ ー プ 文 字 %h は マ シ ン の ホ ス ト 名 に 展 開 さ れ る 。 デ フ ォ ル ト は 「 *** SECURITY information for %h ***」 で あ る 。

noexec_file

sudo バ ー ジ ョ ン 1.8.1 以 来 、 こ の オ プ シ ョ ン は サ ポ ー ト さ れ て い な い 。 現 在 で は 、 noexec フ ァ イ ル の パ ス は sudo.conf(5) フ ァ イ ル で 設 定 す る べ き で あ る 。

pam_login_service

PAM を 認 証 に 使 用 し て い る シ ス テ ム で は 、 こ の オ プ シ ョ ン の 値 が 、 sudo コ マ ン ド に −i オ プ シ ョ ン が 指 定 さ れ た と き 使 用 さ れ る サ ー ビ ス 名 に な る 。 デ フ ォ ル ト の 値 は 、 "sudo" で あ る 。 pam_service の 説 明 も ご 覧 い た だ き た い 。 こ の 設 定 は 、 バ ー ジ ョ ン 1.8.8 以 上 で の み サ ポ ー ト さ れ て い る 。

pam_service

PAM を 使 用 し て い る シ ス テ ム で は 、 こ の オ プ シ ョ ン で 指 定 す る サ ー ビ ス 名 が 、 適 用 さ れ る PAM ポ リ シ ー を 指 定 す る こ と に な る 。 サ ー ビ ス 名 は pam.conf フ ァ イ ル 中 の エ ン ト リ 名 や 、 /etc/pam.d に あ る フ ァ イ ル 名 に 対 応 し て い る 。 デ フ ォ ル ト の 値 は "sudo" で あ る 。 こ の 設 定 は 、 バ ー ジ ョ ン 1.8.8 以 上 で の み サ ポ ー ト さ れ て い る 。

passprompt

パ ス ワ ー ド を 要 求 す る と き に 使 用 す る デ フ ォ ル ト の プ ロ ン プ ト 。 −p オ プ シ ョ ン や 環 境 変 数 SUDO_PROMPT に よ っ て 変 更 す る こ と が で き る 。 以 下 の パ ー セ ン ト (’%’) エ ス ケ ー プ シ ー ケ ン ス が 使 用 で き る 。

%H ド メ イ ン 名 付 き の ロ ー カ ル ホ ス ト 名 に 展 開 さ れ る

(マ シ ン の ホ ス ト 名 が 完 全 修 飾 名 か 、 fqdn オ プ シ ョ ン が セ ッ ト さ れ て い る 場 合 の み )。

%h

ド メ イ ン 名 な し の ロ ー カ ル ・ ホ ス ト 名 に 展 開 さ れ る 。

%p パ ス ワ ー ド を 要 求 さ れ て い る ユ ー ザ 名 に 展 開

(sudoers フ ァ イ ル の rootpw, targetpw, runaspw フ ラ グ を 尊 重 す る )。

%U 変 身 対 象 ユ ー ザ の

(デ フ ォ ル ト で は root) ロ グ イ ン

名 に 展 開 。

%u

sudo を 実 行 す る ユ ー ザ ー の ロ グ イ ン 名 に 展 開 さ れ る 。

%%

連 続 し た 二 個 の % は 、 一 個 の % 文 字 そ の も の を 意 味 す る 。 デ フ ォ ル ト の 値 は 「 Password:」 で あ る 。

role

コ マ ン ド の 実 行 に 当 た っ て SELinux の 新 し い セ キ ュ リ テ ィ ・ コ ン テ キ ス ト を 構 成 す る と き に 使 用 す る 、 デ フ ォ ル ト の ロ ー ル 。 デ フ ォ ル ト の ロ ー ル は 、 sudoers フ ァ イ ル や 、 コ マ ン ド ラ イ ン オ プ シ ョ ン を 使 っ て 、 コ マ ン ド ご と に 変 更 す る こ と が で き る 。 こ の オ プ シ ョ ン が 利 用 で き る の は 、 sudo が SELinux サ ポ ー ト つ き で ビ ル ド さ れ た と き だ け で あ る 。

runas_default

コ マ ン ド ラ イ ン で −u オ プ シ ョ ン が 指 定 さ れ て い な い と き の 、 デ フ ォ ル ト の 変 身 対 象 ユ ー ザ 。 デ フ ォ ル ト で は root に な っ て い る 。

syslog_badpri

ユ ー ザ が 認 証 に 失 敗 し た と き に 使 用 す る syslog の 重 大 度 (priority)。 デ フ ォ ル ト で は alert に な っ て い る 。

syslog の 重 大 度 に は 、 次 の も の が 指 定 で き る 。 emerg, alert, crit, err, warning, notice, info, debug

syslog_goodpri ユ ー ザ が 認 証 に 成 功 し た と き に 使 用 す る

syslog の 重 大 度

(priority)。 デ フ ォ ル ト で は notice に な っ て い る 。 ど ん な syslog の 重 大 度 が 指 定 で き る か に つ い て は 、 syslog_badpri を 参 照 。

sudoers_locale

sudoers フ ァ イ ル を 解 析 し た り 、 コ マ ン ド の ロ グ を 記 録 し た り 、 email を 送 付 し た り す る と き に 使 用 す る ロ ケ ー ル 。 ロ ケ ー ル の 変 更 は 、 sudoers の 解 釈 に 影 響 が あ る か も し れ な い の で 、 気 を つ け て い た だ き た い 。 デ フ ォ ル ト で は "C" に な っ て い る 。

timestampdir

sudo が タ イ ム ス タ ン プ ・ フ ァ イ ル を 置 く デ ィ レ ク ト リ 。 こ の デ ィ レ ク ト リ は 、 シ ス テ ム が リ ブ ー ト す る と き 、 ク リ ア さ れ る べ き で あ る 。 デ フ ォ ル ト は /var/run/sudo/ts に な っ て い る 。

timestampowner

ユ ー ザ が 訓 戒 を 受 け た か ど う か を 示 す フ ァ イ ル を 入 れ て お く デ ィ レ ク ト リ や 、 タ イ ム ス タ ン プ ・ デ ィ レ ク ト リ 、 及 び そ う し た デ ィ レ ク ト リ に 置 か れ る す べ て の フ ァ イ ル の 所 有 者 。 デ フ ォ ル ト は root で あ る 。

type コ マ ン ド の 実 行 に 当 た

っ て SELinux の 新 し い セ キ ュ リ テ ィ ・ コ ン テ キ ス ト を 構 成 す る と き に 使 用 す る 、 デ フ ォ ル ト の タ イ プ 。 デ フ ォ ル ト の タ イ プ は 、 sudoers フ ァ イ ル や 、 コ マ ン ド ラ イ ン オ プ シ ョ ン を 使 っ て 、 コ マ ン ド ご と に 変 更 す る こ と が で き る 。 こ の オ プ シ ョ ン が 利 用 で き る の は 、 sudo が SELinux サ ポ ー ト つ き で ビ ル ド さ れ た と き だ け で あ る 。 真 偽 値 と し て も 使 用 で き る 文 字 列 :

env_file

env_file オ プ シ ョ ン で は 、 実 行 す る プ ロ グ ラ ム の 環 境 に 設 定 す る 変 数 を 記 載 し た フ ァ イ ル の 絶 対 パ ス を 指 定 す る 。 こ の フ ァ イ ル に 記 載 す る 項 目 は 、 "VARIABLE=value" か "export VARIABLE=value" の 形 で な け れ ば な ら な い 。 変 数 の 値 を シ ン グ ル ク ォ ー ト や ダ ブ ル ク ォ ー ト で 囲 ん で も よ い 。 こ の フ ァ イ ル に 含 ま れ る 変 数 は 、 env_keepenv_check の よ う な sudo の ほ か の 環 境 設 定 の 影 響 を 受 け る 。

exempt_group

こ の グ ル ー プ の ユ ー ザ は パ ス ワ ー ド の 入 力 や secure_path な ど に よ る PATH の 限 定 を 免 除 さ れ る 。 指 定 す る グ ル ー プ 名 に 接 頭 辞 の % を 付 け て は い け な い 。 こ の オ プ シ ョ ン は デ フ ォ ル ト で は セ ッ ト さ れ て い な い 。

group_plugin

こ の オ プ シ ョ ン の 値 と な る 文 字 列 に は 、 sudoers が 使 用 す る グ ル ー プ ・ プ ラ グ イ ン と 、 必 要 な ら そ の 引 き 数 を 指 定 す る 。 値 と な る 文 字 列 は 、 プ ラ グ イ ン の パ ス に 続 け て 、 そ の 設 定 に 必 要 な 引 き 数 が あ れ ば 、 そ れ を 付 け 加 え た も の だ が 、 パ ス は 絶 対 パ ス か 、 /usr/local/libexec/sudo を 基 点 と す る 相 対 パ ス に す る べ き で あ る 。 引 き 数 が 存 在 す る な ら 、 そ れ は プ ラ グ イ ン の 初 期 化 関 数 に 渡 さ れ る 。 引 き 数 が 存 在 す る 場 合 は 、 文 字 列 全 体 を ダ ブ ル ク ォ ー ト ("") で 囲 ま な け れ ば な ら な い 。 詳 細 に つ い て は 、 「 グ ル ー プ ・ プ ロ バ イ ダ ー ・ プ ラ グ イ ン 」 セ ク シ ョ ン を を ご 覧 い た だ き た い 。
lecture

sudo は パ ス ワ ー ド プ ロ ン プ ト に 添 え て 簡 単 な 訓 戒 を 表 示 す る こ と が で き る 。 こ の オ プ シ ョ ン は そ の 訓 戒 を い つ 表 示 す る か を 決 定 す る 。 以 下 の 値 が 可 能 で あ る 。

always い つ で も 必 ず 訓 戒 を 表 示 す る 。

never 訓 戒 を ま っ た く 表 示 し な い 。

once ユ ー ザ が は じ め て

sudo を 実 行 し た と き だ け 表 示 す る 。 値 を 指 定 し な い と 、 once を 指 定 し た こ と に な る 。 頭 に ’!’ を 付 け て 、 こ の オ プ シ ョ ン を 否 定 す る と 、 値 に never が 使 用 さ れ る 。 デ フ ォ ル ト の 値 は once で あ る 。

lecture_file 標 準 の 訓 戒 と は 別 の

sudo の 訓 戒 を 書 き 込 ん だ フ ァ イ ル の パ

ス 。 指 名 し た フ ァ イ ル が 存 在 す れ ば 、 sudo は 標 準 の 訓 戒 の 代 わ り に 、 そ れ を 使 用 す る 。 デ フ ォ ル ト で は 、 プ ロ グ ラ ム に 埋 め 込 ま れ た 訓 戒 が 使 用 さ れ る 。

listpw こ の オ プ シ ョ ン は 、

sudo−l オ プ シ ョ ン 付 き で 実 行 し た と

き 、 ユ ー ザ が パ ス ワ ー ド を 要 求 さ れ る の は 、 ど ん な 場 合 か を 決 定 す る 。 以 下 の 値 が 可 能 で あ る 。

all パ ス ワ ー ド を 入 力 し な い で す む た め に は 、

sudoers

フ ァ イ ル の 使 用 中 の ホ ス ト に 対 す る 当 該 ユ ー ザ の エ ン ト リ の す べ て に NOPASSWD タ グ が 設 定 さ れ て い な け れ ば な ら な い 。

always ユ ー ザ は

−l オ プ シ ョ ン を 使 用 す る 際 に 、 必 ず パ ス

ワ ー ド を 入 力 し な け れ ば な ら な い 。

any パ ス ワ ー ド を 入 力 し な い で す む た め に は 、

sudoers

フ ァ イ ル の 使 用 中 の ホ ス ト に 対 す る 当 該 ユ ー ザ の エ ン ト リ の 少 な く と も 一 つ に NOPASSWD タ グ が 設 定 さ れ て い な け れ ば な ら な い 。

never ユ ー ザ は

−l オ プ シ ョ ン を 使 用 す る 際 に 、 パ ス ワ ー

ド を 入 力 す る 必 要 が ま っ た く な い 。 値 を 指 定 し な い と 、 値 は any だ と 見 な さ れ る 。 ’!’ を 頭 に 付 け て 、 こ の オ プ シ ョ ン を 否 定 す る と 、 値 に never が 使 わ れ る こ と に な る 。 デ フ ォ ル ト は any で あ る 。

logfile

sudo 独 自 の ロ グ フ ァ イ ル の パ ス (syslog 経 由 の ロ グ フ ァ イ ル で は な い )。 パ ス を 指 定 す る と 、 独 自 フ ァ イ ル へ の ロ ギ ン グ が on に な り 、 ’!’ を 頭 に 付 け て 、 こ の オ プ シ ョ ン を 否 定 す る と 、 off に な る 。 デ フ ォ ル ト で は 、 sudo は syslog 経 由 で ロ グ を 取 る 。

mailerflags

メ ー ラ を 起 動 す る と き に 使 用 す る フ ラ グ 。 デ フ ォ ル ト は −t に な っ て い る 。

mailerpath

警 告 メ ー ル の 送 信 に 使 用 す る メ ー ル ・ プ ロ グ ラ ム の パ ス 。 デ フ ォ ル ト は configure し た と き に 見 つ か っ た sendmail の パ ス 。

mailfrom

警 告 メ ー ル や エ ラ ー ・ メ ー ル を 送 る と き 、 差 出 人 と し て 使 用 す る ア ド レ ス 。 sudo が @ 記 号 を 解 釈 し な い よ う に 、 ア ド レ ス は ダ ブ ル ク ォ ー ト ("") で 囲 む べ き で あ る 。 デ フ ォ ル ト は 、 sudo を 実 行 し て い る ユ ー ザ の 名 前 。

mailto

警 告 メ ー ル や エ ラ ー ・ メ ー ル を 送 付 す る 宛 先 の ア ド レ ス 。 sudo が @ 記 号 を 解 釈 し な い よ う に 、 ア ド レ ス は ダ ブ ル ク ォ ー ト ("") で 囲 む べ き で あ る 。 デ フ ォ ル ト は root に な っ て い る 。
secure_path

sudo か ら 実 行 さ れ る あ ら ゆ る コ マ ン ド が 使 用 す る パ ス 。 sudo を 実 行 す る ユ ー ザ が 、 無 難 な PATH 環 境 変 数 を 使 っ て い る か ど う か 確 信 が 持 て な い な ら 、 こ の オ プ シ ョ ン を 使 用 す る と よ い だ ろ う 。 も う 一 つ の 使 用 法 は 、 「 root の パ ス 」 と 「 一 般 ユ ー ザ の パ ス 」 を 別 の も の に し て お き た い 場 合 だ 。 ユ ー ザ が exempt_group オ プ シ ョ ン で 指 定 し た グ ル ー プ に 属 し て い る と 、 そ の ユ ー ザ は secure_path の 影 響 を 受 け な い 。 こ の オ プ シ ョ ン は 、 デ フ ォ ル ト で は セ ッ ト さ れ て い な い 。

syslog

syslog を 使 っ て ロ グ を 取 っ て い る 場 合 の syslog の フ ァ シ リ テ ィ (syslog 経 由 で ロ グ を 取 ら な い な ら 、 ’!’ を 頭 に 付 け て 、 こ の オ プ シ ョ ン を 否 定 す る )。 デ フ ォ ル ト で は authpriv に な っ て い る 。

syslog の フ ァ シ リ テ ィ に は 、 次 の も の が 指 定 で き る 。 authpriv (使 用 OS が 対 応 し て い る 場 合 ), auth, daemon, user, local0, local1, local2, local3, local4, local5, local6, local7

verifypw こ の オ プ シ ョ ン は 、

sudo−v オ プ シ ョ ン 付 き で 実 行 し た と

き 、 ユ ー ザ が パ ス ワ ー ド を 要 求 さ れ る の は 、 ど ん な 場 合 か を 決 定 す る 。 以 下 の 値 が 可 能 で あ る 。

all パ ス ワ ー ド を 入 力 し な い で す む た め に は 、

sudoers

フ ァ イ ル の 使 用 中 の ホ ス ト に 対 す る 当 該 ユ ー ザ の エ ン ト リ の す べ て に NOPASSWD タ グ が 設 定 さ れ て い な け れ ば な ら な い 。

always ユ ー ザ は

−v オ プ シ ョ ン を 使 用 す る 際 に 、 必 ず パ ス

ワ ー ド を 入 力 し な け れ ば な ら な い 。

any パ ス ワ ー ド を 入 力 し な い で す む た め に は 、

sudoers

フ ァ イ ル の 使 用 中 の ホ ス ト に 対 す る 当 該 ユ ー ザ の エ ン ト リ の 少 な く と も 一 つ に NOPASSWD タ グ が 設 定 さ れ て い な け れ ば な ら な い 。

never ユ ー ザ は

−v オ プ シ ョ ン を 使 用 す る 際 に 、 パ ス ワ ー ド

を 入 力 す る 必 要 が ま っ た く な い 。 値 を 指 定 し な い と 、 値 は all だ と 見 な さ れ る 。 ’!’ を 頭 に 付 け て 、 こ の オ プ シ ョ ン を 否 定 す る と 、 値 に never が 使 わ れ る こ と に な る 。 デ フ ォ ル ト は all で あ る 。 真 偽 値 と し て も 使 用 で き る リ ス ト :

env_check 「 安 全 」 だ と 見 な さ れ な い 場 合 に 、 ユ ー ザ の 環 境 か ら 取 り 除 か れ る 環 境 変 数 。

TZ 以 外 の す べ て の 環 境 変 数 に つ い て 、 「 安 全 」 と い う の は 、 変 数 の 値 に ’%’ や ’/’ と い う 文 字 を 一 つ も 含 ま な い こ と で あ る 。 こ の 動 作 を 利 用 す れ ば 、 出 来 の よ く な い プ ロ グ ラ ム に 見 ら れ る printf 形 式 の フ ォ ー マ ッ ト の 脆 弱 性 に 対 処 す る こ と が 可 能 に な る 。 TZ 変 数 に つ い て は 、 以 下 の ど れ か が 真 な ら ば 、 安 全 で は な い と 見 な さ れ る 。

変 数 の 値 が 絶 対 パ ス 名 で あ り

(コ ロ ン (’:’) が 先 頭 に

付 い て い る こ と も あ る )、 そ れ が zoneinfo デ ィ レ ク ト リ の 位 置 に マ ッ チ し な い 。

変 数 の 値 に

.. と い う パ ス の 要 素 が 存 在 す る 。

変 数 の 値 に ホ

ワ イ ト ス ペ ー ス や 表 示 不 能 文 字 が 存 在 す る 。

変 数 の 値 が

PATH_MAX の 値 よ り 長 い 。

こ の オ プ シ ョ ン の 引 き 数 は 、 ダ ブ ル ク ォ ー ト で 囲 ま れ 、 ス ペ ー ス で 区 切 ら れ た リ ス ト で も よ く 、 ダ ブ ル ク ォ ー ト な し の 単 一 の 値 で も よ い 。 リ ス ト は 、 =, +=, −=, ! 演 算 子 を 使 っ て 、 そ れ ぞ れ 置 き 換 え た り 、 追 加 し た り 、 削 除 し た り 、 無 効 に し た り す る こ と が で き る 。 env_check で 指 定 さ れ た 変 数 は 、 env_reset オ プ シ ョ の 有 効 ・ 無 効 に か か わ ら ず 、 上 記 の チ ェ ッ ク に パ ス す れ ば 、 環 境 に 保 存 さ れ る こ と に な る 。 チ ェ ッ ク さ れ る 環 境 変 数 の グ ロ ー バ ル な リ ス ト は 、 root ユ ー ザ が sudo−V オ プ シ ョ ン を 付 け て 実 行 し た と き に 表 示 さ れ る 。

env_delete

env_reset オ プ シ ョ ン が 無 効 に な っ て い る と き に 、 ユ ー ザ の 環 境 か ら 取 り 除 か れ る 環 境 変 数 。 こ の オ プ シ ョ ン の 引 き 数 は 、 ダ ブ ル ク ォ ー ト で 囲 ま れ 、 ス ペ ー ス で 区 切 ら れ た リ ス ト で も よ く 、 ダ ブ ル ク ォ ー ト な し の 単 一 の 値 で も よ い 。 リ ス ト は 、 =, +=, −=, ! 演 算 子 を 使 っ て 、 そ れ ぞ れ 置 き 換 え た り 、 追 加 し た り 、 削 除 し た り 、 無 効 に し た り す る こ と が で き る 。 取 り 除 か れ る 環 境 変 数 の グ ロ ー バ ル な リ ス ト は 、 root ユ ー ザ が sudo−V オ プ シ ョ ン を 付 け て 実 行 し た と き に 表 示 さ れ る 。 な お 、 オ ペ レ ー テ ィ ン グ シ ス テ ム に は 、 危 険 を も た ら し か ね な い 変 数 を 、 い か な る setuid プ ロ セ ス (sudo も そ の 一 つ ) の 環 境 か ら も 取 り 除 く こ と に し て い る も の が 多 い こ と に 留 意 し て ほ し い 。

env_keep

env_reset オ プ シ ョ ン が 有 効 に な っ て い る と き で も 、 ユ ー ザ の 環 境 に そ の ま ま 保 存 さ れ る 環 境 変 数 。 こ の オ プ シ ョ ン に よ っ て 、 sudo か ら 生 み 出 さ れ る プ ロ セ ス が 受 け 取 る 環 境 を 、 き め 細 か く 制 御 す る こ と が 可 能 に な る 。 こ の オ プ シ ョ ン の 引 き 数 は 、 ダ ブ ル ク ォ ー ト で 囲 ま れ 、 ス ペ ー ス で 区 切 ら れ た リ ス ト で も よ く 、 ダ ブ ル ク ォ ー ト な し の 単 一 の 値 で も よ い 。 リ ス ト は 、 =, +=, −=, ! 演 算 子 を 使 っ て 、 そ れ ぞ れ 置 き 換 え た り 、 追 加 し た り 、 削 除 し た り 、 無 効 に し た り す る こ と が で き る 。 保 存 さ れ る 変 数 の グ ロ ー バ ル な リ ス ト は 、 root ユ ー ザ が sudo−V オ プ シ ョ ン を 付 け て 実 行 し た と き に 表 示 さ れ る 。

グ ル ー プ ・ プ ロ バ イ ダ ー ・ プ ラ グ イ ン

sudoers プ ラ グ イ ン は 、 non−Unix グ ル ー プ の 検 索 を 可 能 に す る た め に 、 補 助 的 な プ ラ グ イ ン に 対 す る イ ン タ ー フ ェ ー ス を 備 え て お り 、 そ れ に よ っ て 、 標 準 的 な Unix グ ル ー プ ・ デ ー タ ベ ー ス 以 外 の グ ル ー プ 情 報 源 に 対 す る 問 い 合 わ せ が で き る よ う に な っ て い る 。 先 に 述 べ た よ う な 、 non−Unix グ ル ー プ を 指 定 す る 書 式 の 使 用 を 可 能 に し た か っ た ら 、 こ の 仕 組 み が 使 用 で き る 。 グ ル ー プ ・ プ ロ バ イ ダ ー ・ プ ラ グ イ ン は 、 デ フ ォ ル ト 設 定 の group_plugin に よ っ て 指 定 す る 。 group_plugin に 対 す る 引 き 数 は 、 プ ラ グ イ ン の パ ス に 続 け て 、 そ の 設 定 に 必 要 な オ プ シ ョ ン が あ れ ば 、 そ れ を 付 け 加 え た も の だ が 、 パ ス は 絶 対 パ ス か 、 /usr/local/libexec/sudo を 基 点 と す る 相 対 パ ス に す る べ き で あ る 。 そ う し た オ プ シ ョ ン は (指 定 さ れ て い れ ば ) プ ラ グ イ ン の 初 期 化 関 数 に 渡 さ れ る こ と に な る 。 オ プ シ ョ ン が あ る 場 合 は 、 文 字 列 全 体 を ダ ブ ル ク ォ ー ト ("") で 囲 ま な け れ ば な ら な い 。 以 下 の グ ル ー プ ・ プ ロ バ イ ダ ー ・ プ ラ グ イ ン が デ フ ォ ル ト で イ ン ス ト ー ル さ れ て い る 。
group_file

group_file プ ラ グ イ ン は 、 /etc/group の 代 わ り に 、 /etc/group と 同 じ 書 式 を 使 用 す る 別 の グ ル ー プ フ ァ イ ル を 使 え る よ う に す る 。 プ ラ グ イ ン に 対 す る オ プ シ ョ ン と し て 、 グ ル ー プ フ ァ イ ル の パ ス を 指 定 す る べ き で あ る 。 た と え ば 、 使 用 す る グ ル ー プ フ ァ イ ル が /etc/sudo−group な ら ば 、 次 の よ う に 書 く こ と に な る 。

Defaults group_plugin="group_file.so /etc/sudo−group"

system_group

system_group プ ラ グ イ ン は 、 標 準 C ラ イ ブ ラ リ の 関 数 getgrnam() と getgrid() に よ る グ ル ー プ 検 索 を サ ポ ー ト し て い る 。 こ の プ ラ グ イ ン は 、 ユ ー ザ が そ の ユ ー ザ の 補 助 グ ル ー プ の リ ス ト に 存 在 し な い グ ル ー プ に 所 属 し て い る と い っ た 場 合 に も 使 用 で き る 。 こ の プ ラ グ イ ン は オ プ シ ョ ン を 取 ら な い の で 、 書 式 は 次 の よ う に な る 。

Defaults group_plugin=system_group.so グ ル ー プ ・ プ ロ バ イ ダ ー ・ プ ラ グ イ ン の API に つ い て は 、 sudo_plugin(5) に 詳 細 な 説 明 が あ る 。

ロ グ の 書 式

sudoers は 、 何 が 起 き た か を 記 録 す る の に 、 suslog(3) を 使 用 す る こ と も で き る し 、 単 独 の ロ グ ・ フ ァ イ ル を 使 用 す る こ と も で き る 。 ど ち ら の 場 合 も 、 ロ グ の 書 式 は ほ と ん ど 同 じ で あ る 。 実 行 を 許 可 さ れ た コ マ ン ド に 関 す る ロ グ 記 載 事 項
sudo が 実 行 し た コ マ ン ド は 、 次 の 書 式 を 使 っ て 記 録 さ れ る (読 み や す い よ う に 、 こ こ で は 複 数 行 に 分 け て い る )。

date hostname progname: username : TTY=ttyname ; PWD=cwd ; \
USER=runasuser ; GROUP=runasgroup ; TSID=logid ; \
ENV=env_vars COMMAND=command 各 フ ィ ー ル ド は 以 下 の よ う に な っ て い る 。

date コ マ ン ド が 実 行 さ れ た 日 時 。 た い て い は 、

"MMM, DD, HH:MM:SS"

の 形 式 で あ る 。 syslog(3) 経 由 で ロ ギ ン グ し て い る 場 合 に 、 日 時 が 実 際 に ど ん な 形 式 に な る か を 決 め る の は 、 syslog デ ー モ ン で あ る 。 sudo 独 自 の フ ァ イ ル に ロ ギ ン グ し て い る と き 、 log_year オ プ シ ョ ン が 有 効 だ と 、 日 時 に 年 度 も 含 ま れ る こ と に な る 。

hostname

sudo が 実 行 さ れ た ホ ス ト の 名 前 。 こ の フ ィ ー ル ド は 、 syslog(3) 経 由 で ロ ギ ン グ し て い る と き に の み 存 在 す る 。

progname

プ ロ グ ラ ム 名 。 普 通 は 、 sudosudoedit。 こ の フ ィ ー ル ド は 、 syslog(3) 経 由 で ロ ギ ン グ し て い る と き の み 存 在 す る 。
username

sudo を 実 行 し た ユ ー ザ の ロ グ イ ン 名 。

ttyname

sudo が 実 行 さ れ た 端 末 の 短 縮 名 (た と え ば 、 "console", "tty01", "pts/0" な ど )。 端 末 が 存 在 し な か っ た 場 合 は 、 "unknown" に な る 。

cwd

sudo が 実 行 さ れ た カ レ ン ト ・ ワ ー キ ン グ ・ デ ィ レ ク ト リ 。

runasuser

変 身 対 象 ユ ー ザ 。

runasgroup 変 身 対 象 グ ル ー プ が コ マ ン ド ラ イ ン で 指 定 さ れ て い れ ば 、 そ の グ ル ー プ 。

logid 入 出 力 ロ グ の 識 別 名 。 コ マ ン ド の 出 力 を 再 生 す る と き に 使 用 で き る 。 こ の フ ィ ー ル ド は 、

log_inputlog_output オ プ シ ョ ン が 有 効 な と き に の み 存 在 す る 。

env_vars 環 境 変 数 が コ マ ン ド ラ イ ン で 指 定 さ れ た 場 合 、 そ の リ ス ト 。

command 実 行 さ れ た 実 際 の コ マ ン ド 。 メ ッ セ ー ジ は

sudoers_locale で 指 定 さ れ た ロ ケ ー ル を 使 っ て 記 録 さ れ る 。 デ フ ォ ル ト は "C" で あ る 。 実 行 を 拒 否 さ れ た コ マ ン ド に 関 す る ロ グ 記 載 事 項 ユ ー ザ が コ マ ン ド の 実 行 を 認 め ら れ な か っ た 場 合 、 拒 否 さ れ た 理 由 が 、 ユ ー ザ 名 の 後 に 記 録 さ れ る こ と に な る 。 理 由 と し て 挙 げ ら れ る も の に は 、 次 の よ う な も の が あ る 。
user NOT in sudoers そ の ユ ー ザ に 関 す る 記 載 が sudoers フ ァ イ ル に 存 在 し な い 。
user NOT authorized on host そ の ユ ー ザ に 関 す る 記 載 が sudoers フ ァ イ ル に 存 在 す る が 、 こ の ホ ス ト で は コ マ ン ド の 実 行 を 許 可 さ れ て い な い 。
command not allowed こ の ホ ス ト に 対 す る そ の ユ ー ザ の 記 載 が sudoers フ ァ イ ル に 存 在 す る が 、 指 定 さ れ た コ マ ン ド の 実 行 を 許 可 さ れ て い な い 。
3 incorrect password attempts ユ ー ザ が パ ス ワ ー ド の 入 力 に 3 回 失 敗 し た 。 実 際 に 書 き 込 ま れ る 試 行 回 数 は 、 失 敗 し た 回 数 と passwd_tries オ プ シ ョ ン の 値 に よ っ て 様 々 で あ る 。
a password is required

sudo−n オ プ シ ョ ン を 指 定 し た が 、 パ ス ワ ー ド が 必 要 だ っ た 。

sorry, you are not allowed to set the following environment variables ユ ー ザ が コ マ ン ド ラ イ ン で 環 境 変 数 を 指 定 し た が 、 そ れ は sudoers に よ っ て 許 可 さ れ て い な い 。 エ ラ ー に 関 す る ロ グ 記 載 事 項 エ ラ ー が 起 き る と 、 sudoers は メ ッ セ ー ジ を ロ グ に 記 録 し 、 た い て い の 場 合 は 、 管 理 者 に email で 報 告 す る 。 起 き る か も し れ な い エ ラ ー に は 次 の も の が あ る 。
parse error in /etc/sudoers near line N

sudoers が 上 記 フ ァ イ ル の 解 析 中 に エ ラ ー に 出 会 っ た 。 エ ラ ー の タ イ プ に よ っ て は 、 実 際 の エ ラ ー は 、 記 載 さ れ た 行 番 号 よ り 1 行 上 、 あ る い は 、 1 行 下 に あ る こ と も あ る 。

problem with defaults entries

sudoers フ ァ イ ル 中 に 意 味 不 明 な デ フ ォ ル ト 設 定 (Defaults setting) が 、 一 つ 以 上 あ る 。 こ の エ ラ ー が あ っ て も 、 sudo が 実 行 で き な く な る こ と は な い が 、 visudo を 使 っ て sudoers フ ァ イ ル を チ ェ ッ ク す る べ き で あ る 。

timestamp owner (username): No such user

timestampowner オ プ シ ョ ン で 指 定 さ れ た タ イ ム ス タ ン プ ・ デ ィ レ ク ト リ の 所 有 者 が 、 パ ス ワ ー ド ・ デ ー タ ベ ー ス に 存 在 し な か っ た 。

unable to open/read /etc/sudoers

sudoers フ ァ イ ル を 読 み 込 も う と し た が 、 オ ー プ ン で き な か っ た 。 そ う し た こ と は 、 sudoers フ ァ イ ル が リ モ ー ト ・ フ ァ イ ル シ ス テ ム に 存 在 し て 、 そ こ で は ユ ー ザ ID 0 を 別 の 値 に マ ッ プ し て い る 場 合 に 起 き る こ と が あ る (訳 注 : た と え ば 、 NFS で root_squash が 有 効 な 場 合 )。 通 常 sudoers は 、 こ の 問 題 を 回 避 す る た め に 、 グ ル ー プ の パ ー ミ ッ シ ョ ン を 使 っ て sudoers フ ァ イ ル を オ ー プ ン し よ う と す る 。 /etc/sudoers の 所 有 権 を 変 更 す る な り 、 sudo.conf(5) フ ァ イ ル の sudoers Plugin 行 の 末 尾 に "sudoers_uid=N" (’N’ は 、 sudoers フ ァ イ ル の 所 有 者 の ユ ー ザ ID) と い っ た 引 き 数 を 追 加 す る な り を 、 考 慮 す べ き で あ る 。

unable to stat /etc/sudoers

/etc/sudoers フ ァ イ ル が 見 つ か ら な い 。

/etc/sudoers is not a regular file

/etc/sudoers は 存 在 す る が 、 通 常 フ ァ イ ル で も シ ン ボ リ ッ ク ・ リ ン ク で も な い 。

/etc/sudoers is owned by uid N, should be 0

sudoers フ ァ イ ル の 所 有 者 が 適 切 で は な い 。 sudoers フ ァ イ ル の 所 有 者 を 変 更 し た い 場 合 に は 、 sudo.conf(5) フ ァ イ ル の sudoers Plugin 行 に "sudoers_uid=N" (’N’ は 、 sudoers フ ァ イ ル の 所 有 者 の ユ ー ザ ID) を 付 け 加 え て い た だ き た い 。

/etc/sudoers is world writable

sudoers フ ァ イ ル の パ ー ミ ッ シ ョ ン が す べ て の ユ ー ザ に 書 き 込 み を 許 し て い る 。 sudoers フ ァ イ ル は 、 誰 に で も 書 き 込 み 可 で あ っ て は な ら ず 、 デ フ ォ ル ト の フ ァ イ ル モ ー ド は 0440 で あ る (所 有 者 と グ ル ー プ の み 読 む こ と が で き 、 書 き 込 み 権 限 は 誰 に も な い )。 デ フ ォ ル ト の モ ー ド は 、 sudo.conf(5) フ ァ イ ル の sudoers Plugin 行 に "sudoers_mode" オ プ シ ョ ン を 指 定 す る こ と で 変 更 す る こ と が で き る 。

/etc/sudoers is owned by gid N, should be 1

sudoers フ ァ イ ル の 所 有 グ ル ー プ が 適 切 で は な い 。 sudoers フ ァ イ ル の 所 有 グ ル ー プ を 変 更 し た い 場 合 に は 、 sudo.conf(5) フ ァ イ ル の sudoers Plugin 行 に "sudoers_gid=N" (’N’ は 、 sudoers フ ァ イ ル の 所 有 グ ル ー プ ID) を 付 け 加 え て い た だ き た い 。

unable to open /var/run/sudo/ts/username

sudoers が ユ ー ザ の タ イ ム ス タ ン プ ・ フ ァ イ ル を 読 み 込 ん だ り 、 作 成 し た り す る こ と が で き な か っ た 。 そ う し た こ と は 、 timestampowner が root 以 外 の ユ ー ザ に 設 定 さ れ て い て 、 し か も /var/run/sudo の モ ー ド が 、 グ ル ー プ や そ の 他 の ユ ー ザ に 対 し て 検 索 不 可 に な っ て い る 場 合 に 起 き る こ と が あ る 。 /var/run/sudo の デ フ ォ ル ト の モ ー ド は 、 0711 で あ る 。

unable to write to /var/run/sudo/ts/username

sudoers が ユ ー ザ の タ イ ム ス タ ン プ ・ フ ァ イ ル に 書 き 込 む こ と が で き な か っ た 。

/var/run/sudo/ts is owned by uid X, should be Y タ イ ム ス タ ン プ ・ デ ィ レ ク ト リ の 所 有 者 が timestampowner 以 外 の ユ ー ザ で あ る 。 そ う し た こ と は 、 timestampowner の 値 を 変 更 し た 時 に 起 き る こ と が あ る 。 sudoers は 、 デ ィ レ ク ト リ の 所 有 者 が 訂 正 さ れ る ま で 、 タ イ ム ス タ ン プ ・ デ ィ レ ク ト リ を 無 視 す る こ と に な る 。
/var/run/sudo/ts is group writable タ イ ム ス タ ン プ ・ デ ィ レ ク ト リ が グ ル ー プ に よ っ て 書 き 込 み 可 能 に な っ て い る 。 書 き 込 み が 可 能 な の は 、 timestampowner の み に す る べ き だ 。 タ イ ム ス タ ン プ ・ デ ィ レ ク ト リ の デ フ ォ ル ト の モ ー ド は 、 700 で あ る 。 sudoers は 、 デ ィ レ ク ト リ の モ ー ド が 訂 正 さ れ る ま で 、 タ イ ム ス タ ン プ ・ デ ィ レ ク ト リ を 無 視 す る こ と に な る 。

syslog 経 由 で ロ ギ ン グ す る と き の 注 意 点 デ フ ォ ル ト で は 、 sudoerssyslog(3) 経 由 で メ ッ セ ー ジ を ロ グ に 記 録 す る 。 そ の 場 合 、 date, hostname, progname フ ィ ー ル ド を ロ グ に 付 加 す る の は 、 syslog デ ー モ ン で あ っ て 、 sudoers で は な い 。 従 っ て 、 そ う し た フ ィ ー ル ド は 、 シ ス テ ム が 違 え ば 書 式 も 違 う か も し れ な い 。 ほ と ん ど の シ ス テ ム で 、 syslog(3) は 、 か な り 小 さ な ロ グ ・ バ ッ フ ァ し か 持 っ て い な い 。 そ こ で 、 コ マ ン ド ラ イ ン 引 き 数 の 後 ろ の 方 が 切 り 捨 て ら れ た り し な い よ う に 、 sudoers は 、 (date, hostname, 及 び "sudo" と い う 文 字 列 を 別 に し て ) ロ グ ・ メ ッ セ ー ジ が 960 字 以 上 に な る と 、 そ れ を 分 割 す る よ う に な っ て い る 。 メ ッ セ ー ジ が 分 割 さ れ る 場 合 、 後 続 部 分 で は 、 ユ ー ザ 名 の 後 ろ に "(command continued)" と い う 文 字 列 が 続 き 、 そ の 後 に コ マ ン ド ラ イ ン 引 き 数 の 残 り が 続 く こ と に な る 。 フ ァ イ ル に ロ ギ ン グ す る と き の 注 意 点
logfile
オ プ シ ョ ン を 設 定 す る と 、 sudoers/var/log/sudo と い っ た ロ ー カ ル な フ ァ イ ル に ロ グ を 記 録 す る よ う に な る 。 フ ァ イ ル に ロ ギ ン グ す る 場 合 も 、 sudoerssyslog(3) と ほ と ん ど 同 じ 書 式 を 使 用 す る が 、 い つ く か の 重 要 な 違 い が あ る 。

1.

prognamehostname フ ィ ー ル ド は 存 在 し な い 。

2.

log_year オ プ シ ョ ン が 有 効 な 場 合 、 日 付 に は 年 度 も 含 ま れ る こ と に な る 。

3.

loglinelen (デ フ ォ ル ト で は 80) 文 字 よ り も 長 い 行 は 改 行 さ れ 、 4 文 字 分 の イ ン デ ン ト を 付 け て 次 の 行 に 続 く こ と に な る 。 そ う す る こ と で 、 記 述 情 報 が 人 間 に 読 み や す く な る が 、 ロ グ フ ァ イ ル に 対 し て grep(1) を 使 用 す る こ と は 難 し く な る 。 loglinelen オ プ シ ョ ン に 0 を 指 定 す る と (あ る い は 、 頭 に ’!’ を つ け て 、 否 定 す る と )、 改 行 は 行 わ れ な く な る 。

入 出 力 ロ グ フ ァ イ ル

入 出 力 ロ ギ ン グ を 有 効 に す る と 、 sudo は 擬 似 tty で コ マ ン ド を 実 行 し て 、 ユ ー ザ の す べ て の 入 力 や 出 力 の ロ グ を 取 る こ と に な る 。 入 出 力 は 、 iolog_dir オ プ シ ョ ン で 指 定 し た デ ィ レ ク ト リ に (デ フ ォ ル ト で は /var/log/sudo−io)、 一 意 な セ ッ シ ョ ン ID を 使 っ て 記 録 さ れ る 。 こ の セ ッ シ ョ ン ID は 、 (訳 注 : syslog 経 由 で あ れ 、 独 自 フ ァ イ ル で あ れ ) sudo に 関 す る ロ グ の 行 に 、 "TSID=" に 続 く 値 と し て 書 き 込 ま れ て い る も の だ 。 iolog_file オ プ シ ョ ン を 使 え ば 、 セ ッ シ ョ ン ID の 形 式 を 変 更 す る こ と が で き る 。 各 入 出 力 ロ グ は 、 独 立 し た デ ィ レ ク ト リ に 収 納 さ れ る 。 そ う し た デ ィ レ ク ト リ に は 、 次 の よ う な フ ァ イ ル が 入 っ て い る 。

log 次 の よ う な 情 報 を 含 む テ キ ス ト フ ァ イ ル 。 コ マ ン ド が 実 行 さ れ た 日 時 、

sudo を 実 行 し た ユ ー ザ の 名 前 、 変 身 対 象 ユ ー ザ 名 、 変 身 対 象 グ ル ー プ 名 (な い こ と も あ る )、 sudo が 実 行 さ れ た 端 末 、 そ の 端 末 の 縦 横 の サ イ ズ (何 行 何 桁 か )、 コ マ ン ド が そ こ か ら 実 行 さ れ た カ レ ン ト デ ィ レ ク ト リ 、 そ れ に 、 コ マ ン ド そ の も の の パ ス 名 (引 き 数 が あ れ ば 、 そ れ も )

timing 入 出 力 ロ グ に 記 録 さ れ る 各 事 項 間 の 時 間 間 隔 と 各 事 項 の 入 出 力 バ イ ト 数 の ロ グ

(セ ッ シ ョ ン の 再 生 で 使 用 さ れ る )

ttyin ユ ー ザ が 使 用 し て い る 端 末 か ら の 入 力

(ユ ー ザ が タ イ プ し た こ と )。

stdin パ イ プ や フ ァ イ ル か ら の 入 力

ttyout 擬 似

tty の 出 力 (コ マ ン ド が ス ク リ ー ン に 書 き 出 し た こ と )

stdout パ イ プ へ 出 力 さ れ た り 、 フ ァ イ ル に リ ダ イ レ ク ト さ れ た 標 準 出 力

stderr パ イ プ へ 出 力 さ れ た り 、 フ ァ イ ル へ リ ダ イ レ ク ト さ れ た 標 準 エ ラ ー

log 以 外 の す べ て の フ ァ イ ル は 、 compress_io オ プ シ ョ ン が 無 効 に な っ て い な い か ぎ り 、 gzip 形 式 で 圧 縮 さ れ る 。 バ ッ フ ァ リ ン グ を 行 う の で 、 入 出 力 の デ ー タ は 、 sudo コ マ ン ド が 完 了 す る ま で 、 完 全 な も の に は な ら な い 。 入 出 力 ロ グ フ ァ イ ル の 出 力 の 部 分 は 、 sudoreplay(8) を 使 っ て 再 生 す る こ と が で き る 。 ま た 、 sudoreplay(8) ユ ー テ ィ リ テ ィ は 、 利 用 で き る ロ グ を リ ス ト 表 示 し た り 、 検 索 し た り す る の に 使 う こ と も で き る 。 ユ ー ザ の 入 力 に は 、 パ ス ワ ー ド の よ う な (た と え 、 画 面 に エ コ ー さ れ る こ と は な い に し て も ) 秘 密 情 報 が 含 ま れ て い る こ と が あ る 。 そ う い っ た 情 報 も 、 暗 号 化 さ れ ず に 、 ロ グ フ ァ イ ル に 記 録 さ れ る こ と に 注 意 し て い た だ き た い 。 た い て い の 場 合 、 log_output や LOG_OUTPUT を 使 っ て 、 コ マ ン ド の 出 力 を ロ グ に 記 録 す る だ け で 十 分 用 が 足 り る 。 入 出 力 ロ グ は 、 セ ッ シ ョ ン ご と に 独 立 し た デ ィ レ ク ト リ に 収 納 さ れ る 。 そ の た め 、 従 来 か ら あ る ロ グ ロ ー テ ー シ ョ ン ・ ユ ー テ ィ リ テ ィ を 使 用 し て 、 保 存 し て お く 入 出 力 ロ グ 数 を 制 限 す る こ と は で き な い 。 保 存 す る 入 出 力 ロ グ 数 を 制 限 す る 最 も 簡 単 な 方 法 は 、 maxseq オ プ シ ョ ン で 保 存 し た い ロ グ の 最 大 数 を 指 定 す る こ と で あ る 。 入 出 力 ロ グ の 連 番 が maxseq に 達 す る と 、 連 番 は 0 に リ セ ッ ト さ れ 、 sudoers は 既 存 の 入 出 力 ロ グ フ ァ イ ル を サ イ ズ 0 に 短 縮 し て 、 再 利 用 す る こ と に な る 。

フ ァ イ ル

/etc/sudo.conf

sudo フ ロ ン ト エ ン ド の 設 定

/etc/sudoers

誰 が 何 を 実 行 で き る か の リ ス ト

/etc/group ロ ー カ ル の グ ル ー プ フ ァ イ ル

/etc/netgroup ネ ッ ト ワ ー ク グ ル ー プ の リ ス ト

/var/log/sudo−io 入 出 力 の ロ グ フ ァ イ ル

(訳 注 : 厳 密 に は 、 入 出 力 の ロ グ を 記 録 す る フ ァ イ ル 群 を そ の 下 に 格 納 す る ト ッ プ デ ィ レ ク ト リ )

/var/run/sudo/ts

sudoers セ キ ュ リ テ ィ ポ リ シ ー が 使 用 す る タ イ ム ス タ ン プ を 格 納 す る デ ィ レ ク ト リ

/var/lib/sudo/lectured

sudoers セ キ ュ リ テ ィ ポ リ シ ー が 使 用 す る 訓 戒 状 態 フ ァ イ ル を 格 納 す る デ ィ レ ク ト リ

/etc/environment

Linux や AIX で −i モ ー ド を 使 用 す る と き の 初 期 環 境

用 例

以 下 は sudoers フ ァ イ ル の 記 載 例 で あ る 。 正 直 な と こ ろ 、 い さ さ か 凝 り す ぎ の 部 分 も あ る 。 ま ず 最 初 に 継 承 を 許 可 す る 環 境 変 数 を い く つ か 指 定 し 、 続 い て aliases の 定 義 を す る 。

# sudo 経 由 で X ア プ リ ケ ー シ ョ ン を 実 行 す る と き 、 HOME は
# .Xauthority フ ァ イ ル を 探 す た め に 使 用 さ れ る 。 ほ か の プ ロ グ ラ ム も
# 設 定 フ ァ イ ル を 探 す の に HOME を 使 用 す る の で 、 こ の 指 定 が
# 権 限 の 昇 格 を 引 き 起 こ し か ね な い こ と に 注 意 し て ほ し い 。
Defaults env_keep += "DISPLAY HOME"

# User alias の 指 定

User_Alias

FULLTIMERS = millert, mikef, dowdy

User_Alias

PARTTIMERS = bostley, jwfox, crawl

User_Alias

WEBMASTERS = will, wendy, wim

# Runas alias の 指 定

Runas_Alias

OP = root, operator

Runas_Alias

DB = oracle, sybase

Runas_Alias

ADMINGRP = adm, oper

# Host alias の 指 定

Host_Alias

SPARC = bigtime, eclipse, moet, anchor :\

SGI = grolsch, dandelion, black :\

ALPHA = widget, thalamus, foobar :\

HPPA = boa, nag, python

Host_Alias

CUNETS = 128.138.0.0/255.255.0.0

Host_Alias

CSNETS = 128.138.243.0, 128.138.204.0/24, 128.138.242.0

Host_Alias

SERVERS = master, mail, www, ns

Host_Alias

CDROM = orion, perseus, hercules

# Cmnd alias の 指 定

Cmnd_Alias

DUMPS = /usr/bin/mt, /usr/sbin/dump, /usr/sbin/rdump,\

/usr/sbin/restore, /usr/sbin/rrestore,\

sha224:0GomF8mNN3wlDt1HD9XldjJ3SNgpFdbjO1+NsQ== \

/home/operator/bin/start_backups

Cmnd_Alias

KILL = /usr/bin/kill

Cmnd_Alias

PRINTING = /usr/sbin/lpc, /usr/bin/lprm

Cmnd_Alias

SHUTDOWN = /usr/sbin/shutdown

Cmnd_Alias

HALT = /usr/sbin/halt

Cmnd_Alias

REBOOT = /usr/sbin/reboot

Cmnd_Alias

SHELLS = /usr/bin/sh, /usr/bin/csh, /usr/bin/ksh,\

/usr/local/bin/tcsh, /usr/bin/rsh,\

/usr/local/bin/zsh

Cmnd_Alias

SU = /usr/bin/su

Cmnd_Alias

PAGERS = /usr/bin/more, /usr/bin/pg, /usr/bin/less 以 下 で は 、 コ ン パ イ ル 時 に 埋 め 込 ま れ た デ フ ォ ル ト 値 の い く つ か を 変 更 し て い る 。 sudo に は syslog(3) 経 由 で ロ グ を 記 録 し 、 フ ァ シ リ テ ィ に は す べ て の 場 合 に auth を 使 用 さ せ た い 。 フ ル タ イ ム の ス タ ッ フ に は sudo の 訓 戒 を 出 さ な い よ う に し た い 。 ユ ー ザ millert は パ ス ワ ー ド を 入 力 し な い で よ い 。 コ マ ン ド を root と し て 実 行 す る と き は 、 環 境 変 数 LOGNAME, USER, USERNAME を 変 更 し た く な い 。 さ ら に 、 SERVERS と い う Host_Alias に 属 す る マ シ ン で は 、 ロ ー カ ル な ロ グ フ ァ イ ル を 副 本 と し て 作 り 、 ロ グ の 記 入 事 項 は 数 年 に 渡 っ て 保 存 さ れ る の で 、 ロ グ の 各 行 に 間 違 い な く 年 度 が 入 る よ う に す る 。 最 後 に PAGERS と い う Cmnd_Alias に 属 す る コ マ ン ド (/usr/bin/more, /usr/bin/pg, /usr/bin/less) に つ い て は 、 シ ェ ル ・ エ ス ケ ー プ を 無 効 に す る 。 な お 、 最 後 の 設 定 は 、 許 可 す る コ マ ン ド が ALL に な っ て い る ユ ー ザ に 対 し て は 、 効 果 的 な 抑 制 に は な ら な い こ と に 注 意 し て い た だ き た い 。

# built−in defaults の 変 更

Defaults

syslog=auth

Defaults>root

!set_logname

Defaults:FULLTIMERS

!lecture

Defaults:millert

!authenticate

Defaults@SERVERS

log_year, logfile=/var/log/sudo.log

Defaults!PAGERS

noexec ユ ー ザ 設 定 が 、 誰 が 何 を 実 行 で き る か を 実 際 に 決 め て い る 部 分 だ 。

root

ALL = (ALL) ALL

%wheel

ALL = (ALL) ALL

rootwheel グ ル ー プ に 属 す る す べ て の ユ ー ザ に は 、 ど の ホ ス ト で も 任 意 の ユ ー ザ と し て い か な る コ マ ン ド で も 実 行 す る こ と を 認 め る 。

FULLTIMERS

ALL = NOPASSWD: ALL フ ル タ イ ム の シ ス テ ム 管 理 者 (millert, mikef, dowdy) は 、 ど の ホ ス ト で も 任 意 の コ マ ン ド を 認 証 な し で 実 行 で き る 。

PARTTIMERS

ALL = ALL パ ー ト タ イ ム の シ ス テ ム 管 理 者 (bostley, jwfox, crawl) は 、 ど の ホ ス ト で も 任 意 の コ マ ン ド を 実 行 で き る が 、 そ の 際 に 認 証 を し な け れ ば な ら な い (こ の エ ン ト リ に は NOPASSWD タ グ が 指 定 さ れ て い な い の で )。

jack

CSNETS = ALL ユ ー ザ jack は 、 CSNETS と い う エ イ リ ア ス に 属 す る マ シ ン で 、 任 意 の コ マ ン ド を 実 行 で き る (す な わ ち 、 ネ ッ ト ワ ー ク が 128.138.243.0, 128.138.204.0, 128.138.242.0 の マ シ ン だ )。 こ の 内 、 128.138.204.0 に の み class C の ネ ッ ト ワ ー ク で あ る こ と を 示 す 明 示 的 な (CIDR 表 記 の ) netmask が あ る 。 CSNETS の ほ か の ネ ッ ト ワ ー ク に つ い て は 、 ロ ー カ ル マ シ ン の netmask が マ ッ チ ン グ の 際 に 使 わ れ る こ と に な る 。

lisa

CUNETS = ALL ユ ー ザ lisa は 、 エ イ リ ア ス が CUNETS の い か な る ホ ス ト で も 、 任 意 の コ マ ン ド を 実 行 す る こ と が で き る (す な わ ち 、 128.138.0.0 と い う class B ネ ッ ト ワ ー ク の マ シ ン だ )。

operator

ALL = DUMPS, KILL, SHUTDOWN, HALT, REBOOT, PRINTING,\

sudoedit /etc/printcap, /usr/oper/bin/ ユ ー ザ operator は 、 簡 単 な 保 守 管 理 に 用 途 が 限 定 さ れ た コ マ ン ド を 実 行 で き る 。 こ の 場 合 そ れ は 、 バ ッ ク ア ッ プ し た り 、 プ ロ セ ス を kill し た り 、 印 刷 シ ス テ ム を 操 作 し た り 、 シ ス テ ム を シ ャ ッ ト ダ ウ ン し た り す る の に 関 係 す る コ マ ン ド と 、 /usr/oper/bin/ デ ィ レ ク ト リ に あ る 任 意 の コ マ ン ド で あ る 。 注 意 : DUMPS と い う Cmnd_Alias に 属 す る コ マ ン ド の ひ と つ 、 す な わ ち /home/operator/bin/start_backups は 、 sha224 ダ イ ジ ェ ス ト 付 き で あ る 。 そ う し て い る の は 、 そ の ス ク リ プ ト が 置 か れ て い る デ ィ レ ク ト リ が operator ユ ー ザ に よ っ て 書 き 込 み 可 能 だ か ら だ 。 ス ク リ プ ト が 変 更 さ れ た 場 合 (そ の 結 果 、 ダ イ ジ ェ ス ト が 一 致 し な い こ と に な る )、 sudo 経 由 で そ の ス ク リ プ ト を 実 行 す る こ と は も は や 不 可 能 に な る 。

joe

ALL = /usr/bin/su operator ユ ー ザ joe は 、 su(1) を 使 っ て operator に な る こ と し か で き な い 。

pete

HPPA = /usr/bin/passwd [A−Za−z]*, !/usr/bin/passwd root

%opers

ALL = (: ADMINGRP) /usr/sbin/

opers グ ル ー プ の ユ ー ザ は 、 /usr/sbin/ に あ る コ マ ン ド を 、 自 分 自 身 の 資 格 で 、 Runas_Alias ADMINGRP に 属 す る 任 意 の グ ル ー プ (す な わ ち 、 admoper グ ル ー プ ) と し て 実 行 で き る 。 ユ ー ザ pete は 、 HPPA に 属 す る マ シ ン で root 以 外 な ら 誰 の パ ス ワ ー ド で も 変 更 す る こ と を 許 さ れ て い る 。 コ マ ン ド ラ イ ン 引 き 数 は 、 結 合 し て 一 つ の 文 字 列 に し た 上 で 、 マ ッ チ ン グ を 行 う の で 、 ワ イ ル ド カ ー ド ’*’ は 、 複 数 の 単 語 と マ ッ チ す る こ と に な る 。 だ か ら 、 こ の 例 は 、 passwd(1) が コ マ ン ド ラ イ ン で 複 数 の ユ ー ザ 名 を 受 け 付 け な い こ と を 前 提 と し て い る の で あ る 。 GNU の シ ス テ ム で は 、 passwd(1) に 対 す る オ プ シ ョ ン を ユ ー ザ 引 き 数 の 後 ろ に 置 く こ と が で き る の に 注 意 し て い た だ き た い 。 そ の た め 、 こ の ル ー ル は 次 の よ う な コ マ ン ド も 許 可 し て し ま う こ と に な る 。

passwd username −−expire こ れ は 、 望 ま し く な い こ と か も し れ な い 。

bob

SPARC = (OP) ALL : SGI = (OP) ALL ユ ー ザ bob は 、 SPARCSGI に 属 す る マ シ ン で Runas_Alias OPに 登 録 さ れ て い る 任 意 の ユ ー ザ と し て (rootoperator で あ る ) ど ん な コ マ ン ド で も 実 行 で き る 。

jim

+biglab = ALL ユ ー ザ jim は 、 biglab ネ ッ ト グ ル ー プ に 属 す る マ シ ン で 、 ど ん な コ マ ン ド で も 実 行 で き る 。 sudo は 、 "biglab" に ’+’ の 接 頭 辞 が 付 い て い る の で 、 そ れ を ネ ッ ト グ ル ー プ だ と 認 識 す る 。

+secretaries

ALL = PRINTING, /usr/bin/adduser, /usr/bin/rmuser

secretaries ネ ッ ト グ ル ー プ の ユ ー ザ は 、 ユ ー ザ の 追 加 や 削 除 は も ち ろ ん 、 プ リ ン タ の 管 理 に も 協 力 す る 必 要 が あ る 。 そ こ で 、 す べ て の マ シ ン で そ の 種 の コ マ ン ド の 実 行 を 認 め ら れ て い る 。

fred

ALL = (DB) NOPASSWD: ALL ユ ー ザ fred は 、 Runas_Alias DB の 任 意 の ユ ー ザ と し て (oraclesybase だ ) パ ス ワ ー ド を 入 力 し な い で も コ マ ン ド を 実 行 す る こ と が で き る 。

john

ALPHA = /usr/bin/su [!−]*, !/usr/bin/su *root* ユ ー ザ john は 、 ALPHA に 属 す る マ シ ン で su(1) を 使 っ て root 以 外 の 誰 に で も な る こ と が で き る が 、 su に オ プ シ ョ ン を 指 定 す る こ と は 許 さ れ て い な い 。

jen

ALL, !SERVERS = ALL ユ ー ザ jen は 、 Host_Alias SERVERS に 属 す る マ シ ン (master, mail, www, ns) を 除 く い か な る マ シ ン で も 、 任 意 の コ マ ン ド を 実 行 で き る 。

jill

SERVERS = /usr/bin/, !SU, !SHELLS

jill は 、 Host_Alias SERVERS の い か な る マ シ ン で も /usr/bin/ デ ィ レ ク ト リ に あ る 任 意 の コ マ ン ド を 実 行 で き る が 、 SUSHELLS と い う Cmnd_Alias に 属 す る コ マ ン ド は 実 行 で き な い 。 ル ー ル の こ の く だ り で は 特 に 言 っ て い な い が 、 Cmnd_Alias PAGER の コ マ ン ド は す べ て /usr/bin に あ り 、 noexec オ プ シ ョ ン が 設 定 さ れ て い る 。

steve

CSNETS = (operator) /usr/local/op_commands/ ユ ー ザ steve は 、 デ ィ レ ク ト リ /usr/local/op_commands/ に あ る 任 意 の コ マ ン ド を 実 行 で き る が 、 operator と い う ユ ー ザ と し て 実 行 で き る だ け だ 。

matt

valkyrie = KILL

matt も 、 自 分 用 の ワ ー ク ス テ ー シ ョ ン valkyrie で 、 ハ ン グ し た プ ロ セ ス の kill ぐ ら い は で き る 必 要 が あ る 。

WEBMASTERS

www = (www) ALL, (root) /usr/bin/su www ホ ス ト www で User_Alias WEBMASTERS に 属 す る い か な る ユ ー ザ も (will, wendy, wim だ )、 ユ ー ザ www (web ペ ー ジ の 所 有 者 ) と し て 任 意 の コ マ ン ド を 実 行 す る こ と が で き る 。 単 に su(1) で ユ ー ザ www に な っ て も よ い 。

ALL

CDROM = NOPASSWD: /sbin/umount /CDROM,\

/sbin/mount −o nosuid\,nodev /dev/cd0a /CDROM い か な る ユ ー ザ も 、 Host_Alias が CDROM の マ シ ン で (orion, perseus, hercules)、 パ ス ワ ー ド を 入 力 す る こ と な く CD−ROM を マ ウ ン ト 、 ア ン マ ウ ン ト で き る 。 上 記 の コ マ ン ド を 打 ち 込 む の は ユ ー ザ に と っ て い さ さ か 面 倒 な の で 、 シ ェ ル ス ク リ プ ト と し て カ プ セ ル 化 し て し ま う の が よ い だ ろ う 。

[訳 注 ]: 注 意 し て い た だ き た い が 、

/etc/sudoers フ ァ イ ル に 「 user1 ALL =

(ALL) ALL」 と い っ た 設 定 を 書 い て も 、 user1 が sudo 経 由 で あ ら ゆ る コ マ ン ド を 実 行 で き る よ う に な る の は 、 自 ホ ス ト 、 す な わ ち 、 そ の /etc/sudoers が 存 在 す る ホ ス ト だ け で あ っ て 、 telnet や ssh で 接 続 し た ホ ス ト で sudo 経 由 で コ マ ン ド を 実 行 で き る と は か ぎ ら な い 。 他 ホ ス ト の sudo は 、 自 分 の と こ ろ に あ る /etc/sudoers フ ァ イ ル し か 参 照 し な い か ら で あ る 。 そ れ で は 、 何 故 、 上 記 の 「 用 例 」 で 自 ホ ス ト 以 外 の 設 定 が 行 わ れ て い る の だ ろ う か ? そ も そ も 、 sudoers の 書 式 で 自 ホ ス ト 以 外 の ホ ス ト を 指 定 で き る の は 、 何 故 な の か ? ホ ス ト に ALL を 指 定 で き る の は 、 何 故 な の か ? そ れ は 、 管 理 し て い る サ イ ト の す べ て の ホ ス ト の 設 定 を 記 し た sudoers フ ァ イ ル を 一 つ 作 っ て 、 そ れ を す べ て の ホ ス ト に コ ピ ー し て 使 う 、 そ う い っ た 使 い 方 を 想 定 し て い る か ら だ ろ う 。 昔 の 習 慣 の 名 残 り か も し れ な い 。 も し 、 サ イ ト 中 の す べ て の ホ ス ト の 設 定 を 一 ヶ 所 に ま と め て 置 き 、 そ れ を す べ て の ホ ス ト に 共 有 さ せ た い の な ら (す な わ ち 、 sudoers セ キ ュ リ テ ィ ポ リ シ ー 設 定 の 集 中 管 理 が し た い の な ら )、 LDAP の 採 用 を 考 え る べ き で あ る 。

セ キ ュ リ テ ィ に 関 す る 注 意 点

’!’ 演 算 子 の 限 界 一 般 的 に 言 っ て 、 演 算 子 ’!’ を 使 用 し て ALL か ら コ マ ン ド の 「 引 き 算 」 を す る の は 、 あ ま り 効 果 的 な 方 法 で は な い 。 ユ ー ザ は 実 行 し た い コ マ ン ド を 名 前 を 変 え て コ ピ ー し 、 そ れ か ら そ れ を 実 行 す る と い っ た 簡 単 な 方 法 で 、 裏 を か く こ と が で き る か ら だ 。 た と え ば 、

bill ALL = ALL, !SU, !SHELLS と い う 行 は 、 SUSHELLS に 列 記 さ れ て い る コ マ ン ド の bill に よ る 実 行 を 、 本 当 に 阻 止 す る こ と に は な ら な い 。 な ぜ な ら 、 bill と し て は 、 そ う し た コ マ ン ド を 単 に 名 前 を 変 え て コ ピ ー す れ ば よ い し 、 エ デ ィ タ な ど の プ ロ グ ラ ム か ら シ ェ ル ・ エ ス ケ ー プ を 利 用 す る こ と も で き る か ら だ 。 だ か ら 、 こ の 種 の 制 限 は や っ た 方 が ま し 程 度 に 考 え て お く べ き で あ る (そ し て 、 し っ か り し た 運 用 方 針 に よ っ て 制 限 の 実 効 力 を 上 げ る べ き だ )。 一 般 に 、 も し ユ ー ザ に 許 可 す る コ マ ン ド に ALL が 入 っ て い る な ら ば 、 ユ ー ザ が 自 分 で プ ロ グ ラ ム を 作 っ て (あ る い は 、 シ ェ ル を 自 分 専 用 に 別 の 名 前 で コ ピ ー し て )、 ル ー ト ・ シ ェ ル を 獲 得 す る の を 防 ぐ こ と は で き な い 。 ユ ー ザ 設 定 で ど ん な 項 目 に ’!’ を 付 け よ う と も 防 止 不 可 能 で あ る 。

fast_glob の 持 つ セ キ ュ リ テ ィ 上 の 問 題
fast_glob
オ プ シ ョ ン が 使 わ れ て い る 場 合 、 パ ス 名 に glob 文 字 (ワ イ ル ド カ ー ド と も 言 う ) が 含 ま れ る コ マ ン ド を 確 実 に 無 効 に す る こ と は 不 可 能 で あ る 。 そ の 理 由 は 、 C ラ イ ブ ラ リ の fnmatch(3) 関 数 は 、 相 対 パ ス の パ ス 名 展 開 が で き な い か ら だ 。 こ の こ と は 、 権 限 を 許 可 す る ル ー ル に と っ て は 、 た い て い の 場 合 不 便 な だ け に す ぎ な い が 、 権 限 を 減 ら し た り 、 取 り 消 し た り す る ル ー ル に と っ て は 、 セ キ ュ リ テ ィ 上 の 問 題 を も た ら し か ね な い 。 た と え ば 、 sudoers フ ァ イ ル に 次 の エ ン ト リ が あ っ た と し よ う 。

john ALL = /usr/bin/passwd [a−zA−Z0−9]*, /usr/bin/chsh [a−zA−Z0−9]*,\
/usr/bin/chfn [a−zA−Z0−9]*, !/usr/bin/* root そ れ で も 、 fast_glob が 有 効 に な っ て い れ ば 、 john は "/usr/bin/passwd root" を 実 行 で き て し ま う 。 /usr/bin に 移 動 し て 、 "./passwd root" を 実 行 す れ ば よ い の だ 。 シ ェ ル ・ エ ス ケ ー プ の 防 止
sudo
が あ る プ ロ グ ラ ム を 実 行 し た 場 合 、 そ の プ ロ グ ラ ム は 、 ほ か の プ ロ グ ラ ム の 実 行 も 含 め て 、 何 で も 自 由 に 好 き な こ と が で き る 。 こ の こ と が セ キ ュ リ テ ィ 上 の 問 題 に な り か ね な い の は 、 プ ロ グ ラ ム が シ ェ ル ・ エ ス ケ ー プ を 許 し て い る の は 珍 し い こ と で は な く 、 そ の た め に 、 ユ ー ザ が sudo の ア ク セ ス 制 御 や ロ ギ ン グ を す り 抜 け る こ と が 可 能 に な る か ら だ 。 よ く 使 う プ ロ グ ラ ム で シ ェ ル ・ エ ス ケ ー プ を 許 し て い る も の に は 、 (当 然 な が ら ) シ ェ ル 、 エ デ ィ タ 、 ペ ー ジ ャ 、 メ ー ラ 、 タ ー ミ ナ ル な ど が あ る 。 こ の 問 題 に 対 処 す る に は 、 基 本 的 に 二 つ の 方 法 が あ る 。

制 限 ユ ー ザ に 任 意 の コ マ ン ド の 実 行 を 許 す よ う な コ マ ン ド に 対 し て 、 ユ ー ザ が ア ク セ ス で き な い よ う に す る 。 エ デ ィ タ の 場 合 は 、 制 限 モ ー ド

(restricted mode) と 称 し て 、 シ ェ ル ・ エ ス ケ ー プ が 使 え な い モ ー ド を 持 っ て い る も の も 多 い 。 と は 言 え 、 sudo 経 由 で エ デ ィ タ を 使 う の な ら 、 sudoedit を 使 用 す る 方 が よ り 優 れ た 対 策 で あ る 。 シ ェ ル ・ エ ス ケ ー プ を 提 供 す る プ ロ グ ラ ム は た く さ ん あ る の で 、 そ れ を 提 供 し な い プ ロ グ ラ ム の み を 使 用 す る よ う に ユ ー ザ を 制 限 す る の は 、 た い て い 実 現 不 可 能 で あ る 。

noexec 共 有 ラ イ ブ ラ リ を サ ポ ー ト し て い る シ ス テ ム に は 、 環 境 変 数

(た い

て い は LD_PRELOAD) で 別 の 共 有 ラ イ ブ ラ リ を 指 定 す る こ と に よ っ て 、 デ フ ォ ル ト の ラ イ ブ ラ リ 関 数 を 置 き 換 え る こ と が で き る も の が 多 い 。 そ う い っ た シ ス テ ム で は 、 sudonoexec 機 能 を 使 え ば 、 sudo か ら 実 行 さ れ る プ ロ グ ラ ム が 、 何 か ほ か の プ ロ グ ラ ム を 実 行 す る の を 防 ぐ こ と が で き る 。 と は 言 え 、 こ れ が 当 て は ま る の は 、 動 的 に リ ン ク さ れ た ネ イ テ ィ ブ な プ ロ グ ラ ム だ け だ と い う こ と に 留 意 し て ほ し い 。 静 的 に リ ン ク さ れ た プ ロ グ ラ ム や 、 バ イ ナ リ ・ エ ミ ュ レ ー シ ョ ン の も と で 動 く ほ か の OS の プ ロ グ ラ ム に は 効 果 が な い 。

noexec 機 能 は SunOS, Solaris, *BSD, Linux, IRIX, Tru64 UNIX, MacOS X, HP−UX 11.x、 そ れ に 5.3 以 上 の AIX で 使 え る こ と が わ か っ て い る 。 環 境 変 数 LD_PRELOAD を サ ポ ー ト し て い る た い て い の オ ペ レ ー テ ィ ン グ シ ス テ ム が 、 こ の 機 能 に 対 応 し て い る は ず だ 。 使 用 し て い る オ ペ レ ー テ ィ ン グ シ ス テ ム の マ ニ ュ ア ル ペ ー ジ を 調 べ て 、 ダ イ ナ ミ ッ ク ・ リ ン カ に つ い て (通 例 ld.so, ld.so.1, dyld, dld.sl, rld, loader と い っ た 名 前 に な っ て い る ) LD_PRELOAD が サ ポ ー ト さ れ て い る か ど う か 確 認 し て い た だ き た い 。 あ る コ マ ン ド に 対 し て noexec を 有 効 に す る に は 、 上 述 の 「 ユ ー ザ 設 定 」 セ ク シ ョ ン で 解 説 し た よ う に 、 NOEXEC タ グ を 使 用 す る 。 そ の と き の 例 を 再 掲 し よ う 。

aaron shanty = NOEXEC: /usr/bin/more, /usr/bin/vi こ の 例 で は 、 ユ ー ザ aaron 対 し て 、 noexec を 有 効 に し た 上 で 、 /usr/bin/more/usr/bin/vi の 実 行 を 許 可 し て い る 。 こ の よ う に す れ ば 、 こ の 二 つ の コ マ ン ド か ら (シ ェ ル の よ う な ) ほ か の コ マ ン ド を 実 行 す る こ と が で き な く な る わ け だ 。 使 用 し て い る シ ス テ ム が noexec に 対 応 す る 能 力 が あ る か ど う か よ く わ か ら な い 場 合 で も 、 取 り あ え ず 試 し て み る こ と な ら 、 い つ だ っ て で き る 。 noexec を 有 効 に し て 、 シ ェ ル ・ エ ス ケ ー プ が 可 能 か ど う か 確 か め て み れ ば よ い の だ 。 注 意 し て ほ し い が 、 シ ェ ル ・ エ ス ケ ー プ の 禁 止 は 万 能 薬 で は な い 。 root の 権 限 で 動 い て い る プ ロ グ ラ ム に は 、 ほ か に も 、 危 険 性 の あ る さ ま ざ ま な 作 業 (フ ァ イ ル の 属 性 を 変 更 す る と か 、 上 書 き し て し ま う と か ) が 可 能 で あ り 、 思 い が け ず に 権 限 を 拡 大 し て し ま う こ と も あ り え る の だ 。 特 に エ デ ィ タ に つ い て 言 う と 、 ユ ー ザ に は sudoedit を 実 行 す る 許 可 を 与 え る の が 、 よ り 安 全 な 方 法 で あ る (下 記 参 照 )。 安 全 な 編 集 作 業

sudoers プ ラ グ イ ン で は sudoedit が 使 用 で き る よ う に な っ て お り 、 ユ ー ザ は 好 み の エ デ ィ タ を 使 っ て 、 安 全 に フ ァ イ ル を 編 集 す る こ と が で き る 。 sudoeditsudo の 組 み 込 み コ マ ン ド な の で 、 sudoers フ ァ イ ル 中 で 指 定 す る と き は 、 頭 に パ ス を 付 け て は い け な い 。 た だ し 、 コ マ ン ド ラ イ ン 引 き 数 に つ い て は 、 通 常 の コ マ ン ド と 全 く 同 じ よ う に 指 定 す る こ と が で き る 。 sudoedit の コ マ ン ド ラ イ ン 引 き 数 に ワ イ ル ド カ ー ド を 使 用 し た 場 合 は 、 sudoedit の 引 き 数 に は パ ス 名 が 来 る は ず な の で 、 ワ イ ル ド カ ー ド は フ ォ ワ ー ド ス ラ ッ シ ュ (’/’) に マ ッ チ し な い よ う に な っ て い る 。

sudo 経 由 で 実 行 さ れ る 他 の コ マ ン ド と は 違 っ て 、 エ デ ィ タ ー は sudo を 起 動 す る ユ ー ザ の 資 格 で 、 環 境 を 変 更 せ ず に 実 行 さ れ る 。 詳 し く は 、 sudo(8) の マ ニ ュ ア ル の −e オ プ シ ョ ン の 説 明 を ご 覧 に な る と よ い 。 た と え ば 、 ユ ー ザ operator が "message of the day" フ ァ イ ル を 編 集 で き る よ う に す る に は 、 sudoers で 次 の よ う に 指 定 す る 。

operator ALL = sudoedit /etc/motd そ し て 、 ユ ー ザ operator は 、 sudoedit を 次 の よ う に 実 行 す る 。

$ sudoedit /etc/motd エ デ ィ タ は 、 root で は な く 、 ユ ー ザ operator の 資 格 で 、 /etc/motd の 作 業 用 コ ピ ー に 対 し て 実 行 さ れ る 。 フ ァ イ ル の 編 集 が 済 む と 、 /etc/motd は 作 業 用 コ ピ ー の 内 容 で 更 新 さ れ る こ と に な る 。 ユ ー ザ が 書 き 込 み 権 限 を 持 っ て い る デ ィ レ ク ト リ に 存 在 す る フ ァ イ ル に 対 し て 、 フ ァ イ ル 名 を 直 接 指 定 し て で あ れ 、 ワ イ ル ド カ ー ド に よ っ て 指 定 し て で あ れ 、 sudoedit を 使 っ て 編 集 す る 許 可 を そ の ユ ー ザ に 与 え て は い け な い 。 も し 、 ユ ー ザ が デ ィ レ ク ト リ に 対 し て 書 き 込 み 権 限 を 持 っ て い る な ら ば 、 編 集 を 許 可 さ れ た フ ァ イ ル を 、 別 の フ ァ イ ル に 対 す る リ ン ク で 置 き 換 え る こ と が で き る わ け で 、 そ う す る こ と に よ っ て 、 任 意 の ど ん な フ ァ イ ル で も 編 集 で き る よ う に な っ て し ま う か ら だ 。 そ う し た 事 態 を 防 ぐ た め に 、 バ ー ジ ョ ン 1.8.16 以 降 の sudoedit で は 、 sudoedit_checkdir オ プ シ ョ ン が 無 効 に な っ て い る 場 合 や 、 sudoedit を 実 行 す る ユ ー ザ が root で あ る 場 合 を 除 い て 、 ユ ー ザ が 書 き 込 み 権 限 を 持 っ て い る デ ィ レ ク ト リ に 存 在 す る い か な る シ ン ボ リ ッ ク リ ン ク も 、 た ど ら な い よ う に な っ て い る 。 ま た 、 書 き 込 み 権 限 が あ る デ ィ レ ク ト リ に 存 在 す る フ ァ イ ル の 編 集 を 行 う こ と も 拒 否 す る 。 さ ら に 、 バ ー ジ ョ ン 1.8.15 以 降 の sudoedit で は 、 sudoers フ ァ イ ル で sudoedit_follow オ プ シ ョ ン が 有 効 に な っ て い る か 、 sudoedit コ マ ン ド の 前 に FOLLOW タ グ が 指 定 し て あ る か の ど ち ら か で な い か ぎ り 、 シ ン ボ リ ッ ク リ ン ク を オ ー プ ン し な い よ う に な っ て い る 。 タ イ ム ス タ ン プ ・ フ ァ イ ル の チ ェ ッ ク

sudoers は 、 タ イ ム ス タ ン プ ・ デ ィ レ ク ト リ (デ フ ォ ル ト で は /var/run/sudo/ts) の 所 有 者 を 調 べ て 、 所 有 者 が root で な か っ た り 、 root 以 外 の ユ ー ザ に も 書 き 込 み 可 能 で あ っ た り す る と 、 そ の デ ィ レ ク ト リ の 中 身 を 無 視 す る 。 古 い バ ー ジ ョ ン の sudo は 、 タ イ ム ス タ ン プ ・ フ ァ イ ル を /tmp に 置 い て い た が 、 そ う し た こ と は 今 で は 推 奨 で き な い 。 特 権 を 持 た な い ユ ー ザ が 自 分 の 作 っ た フ ァ イ ル の 所 有 者 を 変 更 で き る シ ス テ ム で は 、 ユ ー ザ が タ イ ム ス タ ン プ を 自 分 で 作 成 す る こ と が 可 能 に な る か も し れ な い か ら だ 。 タ イ ム ス タ ン プ ・ デ ィ レ ク ト リ は 、 リ ブ ー ト し た と き に そ の 中 身 を 消 去 さ れ る べ き だ が 、 す べ て の シ ス テ ム に /var/run デ ィ レ ク ト リ が 存 在 す る と は か ぎ ら な い 。 問 題 が 起 き る の を 避 け る た め に 、 sudoers は 、 ブ ー ト タ イ ム を 参 照 で き る シ ス テ ム で は 、 マ シ ン が ブ ー ト し た 時 刻 よ り も 古 い 日 時 を 持 つ タ イ ム ス タ ン プ ・ フ ァ イ ル を 無 視 す る 。 グ ラ フ ィ カ ル な デ ス ク ト ッ プ 環 境 を 持 っ て い る シ ス テ ム の 中 に は 、 特 権 を 持 た な い ユ ー ザ に シ ス テ ム ・ ク ロ ッ ク の 変 更 を 許 し て い る も の が あ る 。 sudoers は 、 タ イ ム ス タ ン プ が 有 効 か 否 を 確 認 す る の に 、 シ ス テ ム ・ ク ロ ッ ク を 拠 り 所 に し て い る 。 そ こ で 、 そ う し た シ ス テ ム で は 、 ユ ー ザ が ク ロ ッ ク を 後 戻 り さ せ る こ と で 、 timestamp_timeout よ り も 長 い 時 間 sudo を 実 行 す る こ と が 可 能 に な る か も し れ な い 。 そ う し た 事 態 に 対 抗 す る た め 、 sudoers は 、 シ ス テ ム が サ ポ ー ト し て い る な ら ば 、 タ イ ム ス タ ン プ に 単 調 増 加 時 計 (monotonic clock) を 使 用 す る (単 調 増 加 時 計 は 後 戻 り す る こ と が な い か ら だ )。

sudoers は あ ま り に も 未 来 に 設 定 さ れ た タ イ ム ス タ ン プ を 認 め な い 。 タ イ ム ス タ ン プ が 「 現 在 時 + 2 * TIMEOUT」 よ り 新 し い 日 時 だ っ た 場 合 、 そ の タ イ ム ス タ ン プ は 無 視 さ れ 、 sudoers は ロ グ に 記 録 し て 、 警 告 を 発 す る 。 タ イ ム ス タ ン プ ・ フ ァ イ ル は フ ァ イ ル シ ス テ ム 中 に 作 ら れ る も の だ か ら 、 ユ ー ザ の ロ グ イ ン ・ セ ッ シ ョ ン が 終 わ っ て も 残 っ て い る 。 そ の た め 、 ユ ー ザ が ロ グ イ ン し 、 認 証 を 行 っ て か ら sudo を 使 っ て コ マ ン ド を 実 行 し 、 一 旦 ロ グ ア ウ ト し て 、 再 度 ロ グ イ ン し た と き 、 認 証 な し で sudo を 実 行 す る こ と が 可 能 に な っ て し ま う か も し れ な い 。 タ イ ム ス タ ン プ ・ フ ァ イ ル に 記 録 さ れ て い る タ イ ム ス タ ン プ が 5 分 以 内 の も の で あ れ ば (あ る い は 、 sudoers フ ァ イ ル で 設 定 さ れ て い る タ イ ム ア ウ ト 時 間 以 内 の も の で あ れ ば )、 そ う い う こ と が 可 能 か も し れ な い の だ 。 tty_tickets オ プ シ ョ ン が 有 効 な 場 合 は 、 タ イ ム ス タ ン プ の 記 録 に 、 ユ ー ザ が 認 証 す る と き に 使 っ た 端 末 の デ バ イ ス 番 号 が 含 ま れ る 。 そ れ よ っ て 、 tty ご と の き め 細 か な 管 理 が 可 能 に な る が 、 そ れ で も タ イ ム ス タ ン プ の 記 録 が 、 ユ ー ザ の セ ッ シ ョ ン が 終 わ っ た 後 ま で 有 効 で あ る 可 能 性 も あ る 。 ま た 、 タ イ ム ス タ ン プ の 記 録 に は 、 最 後 に 認 証 を 行 っ た プ ロ セ ス の セ ッ シ ョ ン ID も 含 ま れ て い る 。 別 の 端 末 セ ッ シ ョ ン の プ ロ セ ス が 、 同 じ タ イ ム ス タ ン プ の 記 録 を 使 え な い よ う に し て い る の だ 。 そ れ は ま た 、 ユ ー ザ が ロ グ ア ウ ト し 、 再 度 同 じ 端 末 に ロ グ イ ン し た と き に 、 パ ス ワ ー ド を 入 力 す る こ と な し に sudo を 実 行 で き る 可 能 性 を 減 少 さ せ る 役 に も 立 っ て い る 。

デ バ ッ ギ ン グ

バ ー ジ ョ ン 1.8.4 以 上 の sudoers プ ラ グ イ ン は 、 デ バ ッ グ の た め の 柔 軟 な 枠 組 み を サ ポ ー ト し て お り 、 問 題 が 発 生 し た と き に 、 プ ラ グ イ ン の 内 部 で 何 が 起 き て い る か を 突 き 止 め る た め に 、 そ れ を 利 用 す る こ と が で き る 。 設 定 は sudo.conf(5) フ ァ イ ル で 行 う こ と が 可 能 だ 。

sudoers プ ラ グ イ ン は 、 フ ロ ン ト エ ン ド で あ る sudo と 同 じ デ バ ッ グ ・ フ ラ グ の 書 式 を 使 用 す る 。 す な わ ち 、 subsystem@priority で あ る 。

sudoers が 使 用 す る priority (重 大 度 ) を 深 刻 な も の か ら 挙 げ る と 、 crit, err, warn, notice, diag, info, trace, debug で あ る 。 あ る priority を 指 定 す る と 、 そ れ よ り 深 刻 な す べ て の priority も 併 せ て 指 定 し た こ と に な る 。 た と え ば 、 notice と い う priority を 指 定 す れ ば 、 notice レ ベ ル 以 上 の デ バ ッ グ メ ッ セ ー ジ が ロ グ に 記 録 さ れ る 。

sudoers で は 以 下 の サ ブ シ ス テ ム が 使 用 で き る 。

alias

User_Alias, Runas_Alias, Host_Alias and Cmnd_Alias の 処 理

all

す べ て の サ ブ シ ス テ ム に マ ッ チ す る

audit

Solaris BSM (Basic Security Module) と Linux の 監 査 コ ー ド

auth

ユ ー ザ の 認 証

defaults

sudoers フ ァ イ ル の Defaults 設 定

env

環 境 の 取 扱 い

ldap

LDAP を 使 用 す る sudoers

logging

ロ ギ ン グ の サ ポ ー ト

match

sudoers フ ァ イ ル に お け る ユ ー ザ 、 グ ル ー プ 、 ホ ス ト 、 ネ ッ ト グ ル ー プ の マ ッ チ ン グ

netif

ネ ッ ト ワ ー ク イ ン タ ー フ ェ ー ス の 取 扱 い

nss

sudoers に お け る ネ ー ム サ ー ビ ス ・ ス イ ッ チ の 取 扱 い

parser

sudoers フ ァ イ ル の 解 析

perms

パ ー ミ ッ シ ョ ン の 設 定

plugin プ ラ グ イ ン に と っ て

main に 相 当 す る

pty 擬 似

tty 関 連 コ ー ド

rbtree 赤 黒 木

(redblack tree) の 内 部 情 報

sssd

SSSD を 使 用 す る sudoers

util ユ ー テ ィ リ テ ィ 関 数 群 一 例 を 挙 げ て お く 。

Debug sudoers.so /var/log/sudo_debug match@info,nss@info よ り 詳 し い 情 報 に つ い て は 、 sudo.conf(5) マ ニ ュ ア ル を ご 覧 い た だ き た い 。

関 連 項 目

ssh(1), su(1), fnmatch(3), glob(3), mktemp(3), strftime(3), sudo.conf(5), sudoers.ldap(5), sudo(8), sudo_plugin(5), visudo(8)

作 者

多 数 の 人 々 が 長 年 に 渡 っ て sudo の 開 発 に 携 わ っ て き た 。 当 バ ー ジ ョ ン は 主 と し て 次 の 者 が 書 い た コ ー ド か ら で き て い る 。

Todd C. Miller

sudo の 開 発 に 貢 献 し て く だ さ っ た 方 々 の 詳 細 な リ ス ト に つ い て は 、 配 布 物 中 の CONTRIBUTORS フ ァ イ ル を ご 覧 に な っ て い た だ き た い 。 (https://www.sudo.ws/contributors.html)

警 告

sudoers フ ァ イ ル の 編 集 に は 、 必 ず visudo コ マ ン ド を 使 う べ き で あ る 。 そ う す れ ば 、 visudo が フ ァ イ ル を ロ ッ ク し 、 文 法 の チ ェ ッ ク を や っ て く れ る 。 sudoers フ ァ イ ル に 文 法 的 な 間 違 い が あ る と 、 sudo が 動 か な く な る の で 、 sudoers フ ァ イ ル に は 文 法 エ ラ ー が 絶 対 に あ っ て は な ら な い の だ 。 ネ ッ ト グ ル ー プ を (ユ ー ザ に つ い て で は な く ) マ シ ン に つ い て 使 用 し 、 netgroup フ ァ イ ル に 完 全 修 飾 ホ ス ト 名 を 記 載 す る 場 合 は (た い て い そ う す る も の だ が )、 そ の マ シ ン の ホ ス ト 名 を hostname コ マ ン ド が 出 力 す る 通 り の 完 全 修 飾 名 で 書 く か 、 さ も な け れ ば 、 sudoers フ ァ イ ル で fqdn オ プ シ ョ ン を 使 う か し な け れ ば な ら な い 。

バ グ

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