|
• 同 じ
ド メ イ ン の グ
ル ー プ : |
"%: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]+ |
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/lprm は
root の 資 格 で 実
行 で き る よ う
に な る 。 |
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
sudo
が noexec サ ポ ー ト
つ き で コ ン パ
イ ル さ れ 、 使
用 し て い る オ
ペ レ ー テ ィ ン
グ シ ス テ ム が
そ れ に 対 応 し
て い る 場 合 、 NOEXEC
タ グ を 利 用 す
れ ば 、 動 的 に
リ ン ク さ れ た
実 行 フ ァ イ ル
が 、 そ こ か ら
さ ら に コ マ ン
ド を 実 行 す る
の を 防 ぐ こ と
が で き る 。 次
の 例 で は 、 ユ
ー ザ aaron は /usr/bin/more
と /usr/bin/vi を 実 行
で き る が 、 シ
ェ ル ・ エ ス ケ
ー プ は 利 用 で
き な い 。
|
aaron |
|
|
shanty = NOEXEC: /usr/bin/more, /usr/bin/vi |
NOEXEC が
ど ん な ふ う に
働 く の か 、 お
使 い の シ ス テ
ム で 利 用 で き
る か ど う か 、
な ど に つ い て
さ ら に 詳 し く
知 り た か っ た
ら 、 後 述 の 「
シ ェ ル ・ エ ス
ケ ー プ の 防 止
」 セ ク シ ョ ン
を 御 覧 に な る
と よ い 。
FOLLOW と
NOFOLLOW バ ー ジ ョ ン
1.8.15 以 来 、 sudoedit は
、 sudoedit_follow オ プ シ
ョ ン が 有 効 に
な っ て い な い
か ぎ り 、 フ ァ
イ ル が シ ン ボ
リ ッ ク リ ン ク
な ら ば 、 そ れ
を 開 か な い よ
う に な っ て い
る 。 FOLLOW と NOFOLLOW
タ グ は 、 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_always や
mail_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
タ グ が 生 き て
い る と き の み
で あ る 。 こ の
動 作 は 、 verifypw や
listpw オ プ シ ョ ン
に よ っ て 変 更
で き る 。 |
SETENV と
NOSETENV 上 記 の タ グ
は 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
に コ マ ン ド ラ
イ ン で 渡 す 引
き 数 は 、 常 に
パ ス 名 で あ る
は ず だ 。 そ こ
で 、 ワ イ ル ド
カ ー ド は フ ォ
ワ ー ド ス ラ ッ
シ ュ (’/’) に マ
ッ チ し な い よ
う に な っ て い
る (訳 注 : 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)
を 入 れ る こ と
は 、 任 意 で あ
る 。 次 の 文 字
を 単 語 (ユ ー ザ
名 と か ホ ス ト
名 と か ) の 一 部
と し て 使 う と
き は 、 バ ッ ク
ス ラ ッ シ ュ
(’\’) で エ ス ケ
ー プ し な け れ
ば な ら な い 。
’!’, ’=’, ’:’,
’,’, ’(’, ’)’,
’\’ が そ れ で あ
る 。
す で に
説 明 し た よ う
に 、 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 を 使 っ
て 、 圧 縮 す る
こ と に な る 。
sudo が zlib を サ ポ
ー ト す る よ う
に コ ン パ イ ル
さ れ て い る 場
合 、 こ の フ ラ
グ の デ フ ォ ル
ト は 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_keep や env_check の リ
ス ト に マ ッ チ
す る も の が 加
わ り 、 さ ら に
、 env_file オ プ シ ョ
ン に よ っ て 指
定 さ れ た フ ァ
イ ル が あ れ ば
、 そ の フ ァ イ
ル に 記 載 さ れ
た す べ て の 変
数 が 追 加 さ れ
る 。 env_keep や env_check
の リ ス ト に ど
ん な 変 数 が 存
在 す る か に つ
い て は 、 root ユ ー
ザ と し て sudo に
−V オ プ シ ョ ン
を 付 け て 実 行
す れ ば 、 sudoers 中
で グ ロ ー バ ル
な Defaults パ ラ メ ー
タ に よ っ て 変
更 さ れ た 結 果
を 、 見 る こ と
が で き る 。 な
お 、 secure_path オ プ
シ ョ ン が 設 定
さ れ て い る と
き は 、 そ の 値
が 環 境 変 数 PATH の
値 と し て 使 用
さ れ る 。 こ の
フ ラ グ は デ フ
ォ ル ト で は on
で あ る 。
|
fast_glob 通 常 |
|
sudo は パ
ス 名 の マ ッ チ
ン グ を す る と
き 、 glob(3)関 数 |
を 使 用
し て 、 シ ェ ル
・ ス タ イ ル の
ワ イ ル ド カ ー
ド 展 開 (glob) を 行 う
。 し か し 、 glob(3)
は フ ァ イ ル シ
ス テ ム に ア ク
セ ス す る の で
、 指 定 パ タ ー
ン に よ っ て は
、 作 業 を 完 了
す る ま で に 時
間 が か か る こ
と が あ る 。 必
要 な 時 に マ ウ
ン ト す る よ う
に な っ て い る
(つ ま り オ ー ト
マ ウ ン ト の ) ネ
ッ ト ワ ー ク ・
フ ァ イ ル ・ シ
ス テ ム を 参 照
す る と き は 、
と り わ け 時 間
が か か る 。
fast_glob オ プ シ ョ
ン を 指 定 す る
と 、 sudo が fnmatch(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/Key や
OPIE の よ う な One Time
Password (OTP) ス キ ー ム を
採 用 し て い る
と き に こ れ を
有 効 に す る と
、 チ ャ レ ン ジ
を ロ ー カ ル ウ
ィ ン ド ウ に カ
ッ ト ・ ア ン ド
・ ペ ー ス ト し
や す い よ う に
、 二 行 の プ ロ
ン プ ト が 使 用
さ れ る 。 デ フ
ォ ル ト の プ ロ
ン プ ト ほ ど 見
栄 え は よ く な
い が 、 こ ち ら
の 方 が 便 利 だ
と 思 う 人 も い
る 。 こ の フ ラ
グ は デ フ ォ ル
ト で は off で あ
る 。
ユ ー ザ
が sudo 経 由 で コ
マ ン ド の 実 行
を 試 み る た び
に (sudoedit の 実 行
も 含 む )、 mailto ユ
ー ザ に メ ー ル
を 送 付 す る 。
た だ し 、 ユ ー
ザ が sudo に −l
や −v オ プ シ ョ
ン を 付 け て 実
行 し た と き は
、 認 証 エ ラ ー
が あ り 、 し か
も mail_badpass フ ラ グ
が セ ッ ト さ れ
て い な い か ぎ
り 、 メ ー ル を
送 付 す る こ と
は な い 。 こ の
フ ラ グ は デ フ
ォ ル ト で は off
で あ る 。
ユ ー ザ
が sudo を 実 行 す
る た び に 、 mailto
ユ ー ザ に メ ー
ル を 送 る 。 こ
の フ ラ グ は デ
フ ォ ル ト で は
off で あ る 。
mail_badpass
sudo
を 実 行 す る ユ
ー ザ が 正 し い
パ ス ワ ー ド を
入 力 し な か っ
た ら 、 mailto ユ ー
ザ に メ ー ル を
送 付 す る 。 ユ
ー ザ が 実 行 し
よ う と し て い
る コ マ ン ド が
sudoers に よ っ て 許
可 さ れ て い な
い 場 合 に 、
mail_all_cmnds, mail_always,
mail_no_host, mail_no_perms,
mail_no_user フ ラ グ の
ど れ か が セ ッ
ト さ れ て い る
と 、 こ の フ ラ
グ は 効 果 を 持
た な い こ と に
な る 。 こ の フ
ラ グ は デ フ ォ
ル ト で は off で
あ る 。
こ れ を
セ ッ ト す る と
、 sudo を 起 動 し
た ユ ー ザ が sudoers
フ ァ イ ル に 記
載 さ れ て は い
る も の の 、 使
用 中 の ホ ス ト
で コ マ ン ド の
実 行 を 許 可 さ
れ て い な い 場
合 に 、 mailto ユ ー
ザ に メ ー ル を
送 付 す る 。 こ
の フ ラ グ は デ
フ ォ ル ト で は
off で あ る 。
こ れ を
セ ッ ト す る と
、 sudo を 起 動 し
た ユ ー ザ が sudo
の 使 用 を 許 可
さ れ て い る が
、 実 行 し よ う
と し て い る コ
マ ン ド が sudoers フ
ァ イ ル の そ の
ユ ー ザ の エ ン
ト リ に 登 録 さ
れ て い な い か
、 明 示 的 に 禁
止 さ れ て い る
場 合 に 、 mailto ユ
ー ザ に メ ー ル
を 送 付 す る 。
こ の フ ラ グ は
デ フ ォ ル ト で
は off で あ る 。
こ れ を
セ ッ ト す る と
、 sudo を 起 動 し
た ユ ー ザ が sudoers
フ ァ イ ル に 記
載 さ れ て い な
い 場 合 に 、 mailto
ユ ー ザ に メ ー
ル を 送 付 す る
。 こ の フ ラ グ
は デ フ ォ ル ト
で は on で あ る
。
こ れ を
セ ッ ト す る と
、 ネ ッ ト グ ル
ー プ の 検 索 が
ネ ッ ト グ ル ー
プ の タ プ ル 全
部 を 使 っ て 行
わ れ る こ と に
な る (す な わ ち
、 ホ ス ト 名 、
ユ ー ザ 名 、 ド
メ イ ン の 三 つ
が 、 そ れ ぞ れ
設 定 さ れ て い
る な ら ば 、 使
用 さ れ る )。 従
来 の sudo で は 、
User_List で 使 用 さ れ
る ネ ッ ト グ ル
ー プ に つ い て
は 、 ユ ー ザ 名
と ド メ イ ン だ
け を 照 合 し 、
Host_List で 使 用 さ れ
る ネ ッ ト グ ル
ー プ に つ い て
は 、 ホ ス ト 名
と ド メ イ ン だ
け を 照 合 し て
い た 。 こ の フ
ラ グ は デ フ ォ
ル ト で は off で
あ る 。
こ れ を
セ ッ ト す る と
、 sudo を 通 し て
実 行 さ れ る す
べ て の コ マ ン
ド が 、 EXEC タ グ で
無 効 に さ れ な
い か ぎ り 、 あ
た か も NOEXEC タ グ が
設 定 さ れ て い
る か の ご と く
振 舞 う よ う に
な る 。 前 述 の
「 EXEC と NOEXEC」 の
説 明 、 お よ び
、 こ の マ ニ ュ
ア ル の 終 わ り
の 方 に あ る 「
シ ェ ル ・ エ ス
ケ ー プ の 防 止
」 と い う セ ク
シ ョ ン を 参 照
し て い た だ き
た い 。 こ の フ
ラ グ は デ フ ォ
ル ト で は off で
あ る 。
認 証 に PAM
を 使 用 す る シ
ス テ ム で は 、
sudo は 新 し い PAM セ
ッ シ ョ ン を 作
成 し 、 そ の 中
で コ マ ン ド を
実 行 す る 。 PAM の
実 装 が 古 い 場
合 や 、 PAM セ ッ シ
ョ ン の 開 始 が utmp
や wtmp フ ァ イ ル を
変 更 す る オ ペ
レ ー テ ィ ン グ
シ ス テ ム で は
、 pam_session を 無 効
に す る 必 要 が
あ る か も し れ
な い 。 た だ し
、 PAM セ ッ シ ョ ン
の サ ポ ー ト を
無 効 に す る と
、 実 行 さ れ る
コ マ ン ド に 対
す る リ ソ ー ス
の 上 限 が 更 新
さ れ な い か も
し れ な い 。 な
お 、 pam_session, pam_setcred,
use_pty が 無 効 に な
っ て い て 、 し
か も 入 出 力 ロ
ギ ン グ が 設 定
さ れ て い な い
場 合 は 、 sudo は
コ マ ン ド を 子
プ ロ セ ス と し
て で は な く 、
直 接 実 行 す る
。 こ の フ ラ グ
は デ フ ォ ル ト
で は on で あ る
。 こ の 設 定 は
、 バ ー ジ ョ ン 1.8.7
以 上 で の み サ
ポ ー ト さ れ て
い る 。
認 証 に 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
が シ ン ボ リ ッ
ク リ ン ク を オ
ー プ ン で き る
よ う に な る 。
そ う し た 動 作
は FOLLOW や NOFOLLOW タ
グ を 使 え ば 、
コ マ ン ド ご と
に 変 更 す る こ
と が で き る 。
こ の フ ラ グ は
デ フ ォ ル ト で
は off で あ る 。
こ の 設 定 は 、
バ ー ジ ョ ン 1.8.15 以
上 で の み サ ポ
ー ト さ れ て い
る 。
こ れ を
セ ッ ト す る と
、 sudo は 、 コ マ
ン ド を 実 行 し
た り 、 フ ァ イ
ル を 編 集 し た
り す る と き 、
起 動 し た ユ ー
ザ の パ ス ワ ー
ド で は な く 、
−u オ プ シ ョ ン
で 指 定 さ れ た
ユ ー ザ (デ フ ォ
ル ト で は root) の パ
ス ワ ー ド を 要
求 す る よ う に
な る 。 こ の フ
ラ グ を 設 定 を
す る と 、 −u オ
プ シ ョ ン の 引
き 数 と し て 、 passwd
デ ー タ ベ ー ス
に 登 録 さ れ て
い な い uid が 使 え
な く な る こ と
に 注 意 し て ほ
し い 。 こ の フ
ラ グ は デ フ ォ
ル ト で は off で
あ る 。
こ れ を
セ ッ ト す る と
、 ユ ー ザ は tty ご
と に 認 証 を し
な け れ ば な ら
な く な る 。 こ
の フ ラ グ が 有
効 な 場 合 、 sudo
は 、 各 tty に 対 し
て 、 タ イ ム ス
タ ン プ ・ フ ァ
イ ル 中 の 、 そ
れ ぞ れ 別 個 に
記 録 さ れ る 情
報 を 使 用 す る
こ と に な る 。
そ れ に 対 し て
、 こ の フ ラ グ
が 無 効 な 場 合
は 、 す べ て の
ロ グ イ ン ・ セ
ッ シ ョ ン に 対
し て 、 単 一 の
記 録 が 使 用 さ
れ る の で あ る
。 こ の フ ラ グ
は デ フ ォ ル ト
で は on で あ る
。
こ れ を
セ ッ ト す る と
、 sudo は umask を sudoers
の umask オ プ シ ョ ン
で 指 定 さ れ た
と お り の 値 に
、 変 更 を 加 え
る こ と な く 設
定 す る 。 こ の
こ と に よ っ て
、 ユ ー ザ 自 身
の umask 値 よ り も っ
と 緩 や か な umask 値
を sudoers フ ァ イ ル
で 指 定 す る こ
と が 可 能 に な
る 。 sudo の 昔 の
動 作 と 同 じ に
な る わ け だ 。
umask_override を セ ッ ト
し な い 場 合 、
現 在 の sudo は umask
を 、 ユ ー ザ の umask
値 と sudoers で 指 定
し た umask 値 と の ビ
ッ ト 和 に 設 定
す る こ と に な
っ て い る 。 こ
の フ ラ グ は デ
フ ォ ル ト で は
off で あ る 。
こ れ を
セ ッ ト す る と
、 ユ ー ザ や ホ
ス ト を 指 定 す
る 場 所 で ネ ッ
ト グ ル ー プ (接
頭 辞 ’+’ が 付 く
) が 使 え る よ う
に な る 。 LDAP を 使
用 す る sudoers で は
、 ネ ッ ト グ ル
ー プ を サ ポ ー
ト す る と 、
/etc/ldap.conf フ ァ イ ル
で NETGROUP_BASE 設 定 オ
プ シ ョ ン を 指
定 し て い な い
場 合 に 、 サ ー
バ 側 で 負 荷 の
高 い 部 分 文 字
列 (substring) の マ ッ チ
ン グ を 行 う 必
要 が 生 じ る 。
そ こ で 、 ネ ッ
ト グ ル ー プ を
使 用 す る 必 要
が な い 場 合 は
、 こ の オ プ シ
ョ ン を off に す
れ ば 、 LDAP サ ー バ
の 負 荷 を 減 ら
す こ と が で き
る 。 こ の フ ラ
グ は デ フ ォ ル
ト で は on で あ
る 。
こ れ を
セ ッ ト す る と
、 sudo は 入 出 力
の ロ ギ ン グ が
行 わ れ て い な
い と き で も 、
擬 似 tty で コ マ ン
ド を 実 行 す る
こ と に な る 。
sudo に よ っ て 実
行 さ れ た 悪 意
の あ る プ ロ グ
ラ ム が 、 バ ッ
ク グ ラ ウ ン ド
・ プ ロ セ ス を
フ ォ ー ク し 、
そ の プ ロ セ ス
が 、 メ イ ン プ
ロ グ ラ ム の 実
行 が 終 了 し た
後 で も 、 ユ ー
ザ の タ ー ミ ナ
ル デ バ イ ス を
握 っ て 離 さ な
い と い っ た こ
と が 考 え ら れ
る 。 こ の オ プ
シ ョ ン を 使 え
ば 、 そ う い っ
た こ と が 不 可
能 に な る 。 こ
の フ ラ グ は デ
フ ォ ル ト で は
off で あ る 。
こ れ を
セ ッ ト す る と
、 sudo は utmp (ま た
は utmpx) フ ァ イ ル を
更 新 す る と き
、 変 身 対 象 ユ
ー ザ の 名 前 を
記 録 す る よ う
に な る 。 sudo は
デ フ ォ ル ト で
は 、 sudo を 実 行
し た ユ ー ザ の
名 前 を 記 録 す
る の だ 。 こ の
フ ラ グ は デ フ
ォ ル ト で は off
で あ る 。
デ フ ォ
ル ト で は 、 ユ
ー ザ が パ ス ワ
ー ド を 入 力 し
な け れ ば な ら
な い と き に 、
使 用 し て い る
タ ー ミ ナ ル で
エ コ ー の 抑 制
が で き な か っ
た ら 、 sudo は 実
行 を 拒 否 す る
よ う に な っ て
い る 。 そ れ に
対 し 、 visiblepw フ
ラ グ が 設 定 さ
れ て い る と 、
パ ス ワ ー ド が
ス ク リ ー ン に
表 示 さ れ て し
ま う 場 合 で も
、 sudo は プ ロ ン
プ ト を 出 し て
、 パ ス ワ ー ド
を 求 め る よ う
に な る 。 ssh(1) は デ
フ ォ ル ト で は
、 コ マ ン ド を
実 行 す る 際 に tty
を 割 り 当 て な
い の で 、 sudo は
エ コ ー の 抑 制
が で き な い が
、 そ の 場 合 で
も 、 こ の 設 定
に よ っ て 、 "ssh
somehost sudo ls" と い っ た
操 作 の 実 行 が
可 能 に な る わ
け だ 。 こ の フ
ラ グ は デ フ ォ
ル ト で は off で
あ る 。 整 数 :
closefrom
|
|
|
sudo は コ
マ ン ド を 実 行
す る 前 に 、 標
準 入 力 、 標 準
出 力 、 標 準 エ
ラ ー (す な わ ち
、 フ ァ イ ル デ
ィ ス ク リ プ タ
0−2 ) を 除 い て 、
開 い て い る す
べ て の フ ァ イ
ル ・ デ ィ ス ク
リ プ タ を ク ロ
ー ズ す る 。
closefrom オ プ シ ョ
ン を 使 用 す る
と 、 0−2 以 外 の
ど の フ ァ イ ル
・ デ ィ ス ク リ
プ タ か ら 閉 じ
て 行 く か を 指
定 す る こ と が
で き る 。 デ フ
ォ ル ト は 3 で あ
る 。
入 出 力
ロ グ フ ァ イ ル
で "%{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 値 を そ の ま
ま 使 い た か っ
た ら 、 ’!’ を 頭
に 付 け て 、 こ
の オ プ シ ョ ン
を 否 定 す る か
、 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 で あ る
。
こ の オ
プ シ ョ ン の 値
を ト ッ プ レ ベ
ル ・ デ ィ レ ク
ト リ に し て 、
入 出 力 ロ グ を
置 く デ ィ レ ク
ト リ の パ ス 名
が 構 成 さ れ る
。 こ の 値 が 使
用 さ れ る の は
、 log_input や log_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_input や log_output オ
プ シ ョ ン が 有
効 に な っ て い
た り 、 LOG_INPUT や LOG_OUTPUT
タ グ が コ マ ン
ド に 付 い て い
る 場 合 に 、 入
出 力 ロ グ が こ
の 中 に 格 納 さ
れ る 。 iolog_file の
値 が 複 数 の デ
ィ レ ク ト リ 構
成 要 素 を 含 ん
で い る こ と が
あ る の に 注 意
し て い た だ き
た い 。 デ フ ォ
ル ト は "%{seq}" で
あ る 。 使 用 で
き る パ ー セ ン
ト (’%’) エ ス ケ
ー プ シ ー ケ ン
ス の リ ス ト に
つ い て は 、 上
記 の iolog_dir オ プ
シ ョ ン を 参 照
。 エ ス ケ ー プ
シ ー ケ ン ス の
展 開 と は 別 に
、 パ ス 名 が 六
個 以 上 の X で 終
わ っ て い る 場
合 は 、 X の 部 分
が 、 他 と 重 複
し な い 英 数 字
の 組 み 合 わ せ
に 置 き 換 え ら
れ る 。 mktemp(3) 関 数
の 場 合 と 同 様
で あ る 。 |
iolog_dir
と iolog_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 以 上 で
の み サ ポ ー ト
さ れ て い る 。
パ ス ワ
ー ド を 要 求 す
る と き に 使 用
す る デ フ ォ ル
ト の プ ロ ン プ
ト 。 −p オ プ シ
ョ ン や 環 境 変
数 SUDO_PROMPT に よ っ て
変 更 す る こ と
が で き る 。 以
下 の パ ー セ ン
ト (’%’) エ ス ケ
ー プ シ ー ケ ン
ス が 使 用 で き
る 。
|
%H ド メ イ
ン 名 付 き の ロ
ー カ ル ホ ス ト
名 に 展 開 さ れ
る |
|
(マ シ ン
の ホ ス ト 名 が
完 全 修 飾 名 か
、 fqdn オ プ シ ョ
ン が セ ッ ト さ
れ て い る 場 合
の み )。 |
|
%h |
|
|
ド メ イ
ン 名 な し の ロ
ー カ ル ・ ホ ス
ト 名 に 展 開 さ
れ る 。
|
%p パ ス ワ ー ド を
要 求 さ れ て い
る ユ ー ザ 名 に
展 開 |
(sudoers フ
ァ イ ル の rootpw,
targetpw, runaspw フ ラ グ
を 尊 重 す る )。
|
%U 変 身 対
象 ユ ー ザ の |
|
(デ フ ォ
ル ト で は root) ロ グ
イ ン |
名 に 展
開 。
|
%u |
|
sudo を 実
行 す る ユ ー ザ
ー の ロ グ イ ン
名 に 展 開 さ れ
る 。
連 続 し
た 二 個 の % は 、
一 個 の % 文 字 そ
の も の を 意 味
す る 。 デ フ ォ
ル ト の 値 は 「
Password:」 で あ る 。
コ マ ン
ド の 実 行 に 当
た っ て SELinux の 新
し い セ キ ュ リ
テ ィ ・ コ ン テ
キ ス ト を 構 成
す る と き に 使
用 す る 、 デ フ
ォ ル ト の ロ ー
ル 。 デ フ ォ ル
ト の ロ ー ル は
、 sudoers フ ァ イ ル
や 、 コ マ ン ド
ラ イ ン オ プ シ
ョ ン を 使 っ て
、 コ マ ン ド ご
と に 変 更 す る
こ と が で き る
。 こ の オ プ シ
ョ ン が 利 用 で
き る の は 、 sudo
が SELinux サ ポ ー ト
つ き で ビ ル ド
さ れ た と き だ
け で あ る 。
コ マ ン
ド ラ イ ン で −u
オ プ シ ョ ン が
指 定 さ れ て い
な い と き の 、
デ フ ォ ル ト の
変 身 対 象 ユ ー
ザ 。 デ フ ォ ル
ト で は root に な っ
て い る 。
ユ ー ザ
が 認 証 に 失 敗
し た と き に 使
用 す る 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 に な っ て
い る 。
ユ ー ザ
が 訓 戒 を 受 け
た か ど う か を
示 す フ ァ イ ル
を 入 れ て お く
デ ィ レ ク ト リ
や 、 タ イ ム ス
タ ン プ ・ デ ィ
レ ク ト リ 、 及
び そ う し た デ
ィ レ ク ト リ に
置 か れ る す べ
て の フ ァ イ ル
の 所 有 者 。 デ
フ ォ ル ト は root で
あ る 。
っ て SELinux
の 新 し い セ キ
ュ リ テ ィ ・ コ
ン テ キ ス ト を
構 成 す る と き
に 使 用 す る 、
デ フ ォ ル ト の
タ イ プ 。 デ フ
ォ ル ト の タ イ
プ は 、 sudoers フ ァ
イ ル や 、 コ マ
ン ド ラ イ ン オ
プ シ ョ ン を 使
っ て 、 コ マ ン
ド ご と に 変 更
す る こ と が で
き る 。 こ の オ
プ シ ョ ン が 利
用 で き る の は
、 sudo が SELinux サ ポ
ー ト つ き で ビ
ル ド さ れ た と
き だ け で あ る
。 真 偽 値 と し
て も 使 用 で き
る 文 字 列 :
env_file
|
|
|
env_file オ
プ シ ョ ン で は
、 実 行 す る プ
ロ グ ラ ム の 環
境 に 設 定 す る
変 数 を 記 載 し
た フ ァ イ ル の
絶 対 パ ス を 指
定 す る 。 こ の
フ ァ イ ル に 記
載 す る 項 目 は
、 "VARIABLE=value" か "export
VARIABLE=value" の 形 で な
け れ ば な ら な
い 。 変 数 の 値
を シ ン グ ル ク
ォ ー ト や ダ ブ
ル ク ォ ー ト で
囲 ん で も よ い
。 こ の フ ァ イ
ル に 含 ま れ る
変 数 は 、 env_keep や
env_check の よ う な
sudo の ほ か の 環
境 設 定 の 影 響
を 受 け る 。
こ の グ
ル ー プ の ユ ー
ザ は パ ス ワ ー
ド の 入 力 や
secure_path な ど に よ
る PATH の 限 定 を 免
除 さ れ る 。 指
定 す る グ ル ー
プ 名 に 接 頭 辞
の % を 付 け て は
い け な い 。 こ
の オ プ シ ョ ン
は デ フ ォ ル ト
で は セ ッ ト さ
れ て い な い 。
こ の オ
プ シ ョ ン の 値
と な る 文 字 列
に は 、 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 経 由
で ロ グ を 取 る
。
メ ー ラ
を 起 動 す る と
き に 使 用 す る
フ ラ グ 。 デ フ
ォ ル ト は −t に
な っ て い る 。
警 告 メ
ー ル の 送 信 に
使 用 す る メ ー
ル ・ プ ロ グ ラ
ム の パ ス 。 デ
フ ォ ル ト は configure
し た と き に 見
つ か っ た sendmail の
パ ス 。
警 告 メ
ー ル や エ ラ ー
・ メ ー ル を 送
る と き 、 差 出
人 と し て 使 用
す る ア ド レ ス
。 sudo が @ 記 号 を
解 釈 し な い よ
う に 、 ア ド レ
ス は ダ ブ ル ク
ォ ー ト ("") で 囲
む べ き で あ る
。 デ フ ォ ル ト
は 、 sudo を 実 行
し て い る ユ ー
ザ の 名 前 。
警 告 メ
ー ル や エ ラ ー
・ メ ー ル を 送
付 す る 宛 先 の
ア ド レ ス 。 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) 経 由 で
ロ ギ ン グ し て
い る と き に の
み 存 在 す る 。
プ ロ グ
ラ ム 名 。 普 通
は 、 sudo か
sudoedit。 こ の フ ィ
ー ル ド は 、 syslog(3)
経 由 で ロ ギ ン
グ し て い る と
き の み 存 在 す
る 。
username
sudo
を 実 行 し た ユ
ー ザ の ロ グ イ
ン 名 。
ttyname
sudo
が 実 行 さ れ た
端 末 の 短 縮 名
(た と え ば 、
"console", "tty01", "pts/0"
な ど )。 端 末 が
存 在 し な か っ
た 場 合 は 、
"unknown" に な る 。
cwd
sudo
が 実 行 さ れ た
カ レ ン ト ・ ワ
ー キ ン グ ・ デ
ィ レ ク ト リ 。
runasuser
変 身 対
象 ユ ー ザ 。
|
runasgroup 変 身 対 象 グ
ル ー プ が コ マ
ン ド ラ イ ン で
指 定 さ れ て い
れ ば 、 そ の グ
ル ー プ 。 |
|
logid 入 出 力 ロ グ
の 識 別 名 。 コ
マ ン ド の 出 力
を 再 生 す る と
き に 使 用 で き
る 。 こ の フ ィ
ー ル ド は 、 |
log_input や
log_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
経 由 で ロ ギ ン
グ す る と き の
注 意 点 デ フ ォ
ル ト で は 、 sudoers
は syslog(3) 経 由 で メ
ッ セ ー ジ を ロ
グ に 記 録 す る
。 そ の 場 合 、
date, hostname, progname フ
ィ ー ル ド を ロ
グ に 付 加 す る
の は 、 syslog デ ー モ
ン で あ っ て 、
sudoers で は な い 。
従 っ て 、 そ う
し た フ ィ ー ル
ド は 、 シ ス テ
ム が 違 え ば 書
式 も 違 う か も
し れ な い 。 ほ
と ん ど の シ ス
テ ム で 、 syslog(3) は
、 か な り 小 さ
な ロ グ ・ バ ッ
フ ァ し か 持 っ
て い な い 。 そ
こ で 、 コ マ ン
ド ラ イ ン 引 き
数 の 後 ろ の 方
が 切 り 捨 て ら
れ た り し な い
よ う に 、 sudoers は
、 (date, hostname, 及 び "sudo"
と い う 文 字 列
を 別 に し て ) ロ
グ ・ メ ッ セ ー
ジ が 960 字 以 上 に
な る と 、 そ れ
を 分 割 す る よ
う に な っ て い
る 。 メ ッ セ ー
ジ が 分 割 さ れ
る 場 合 、 後 続
部 分 で は 、 ユ
ー ザ 名 の 後 ろ
に "(command continued)" と い
う 文 字 列 が 続
き 、 そ の 後 に
コ マ ン ド ラ イ
ン 引 き 数 の 残
り が 続 く こ と
に な る 。 フ ァ
イ ル に ロ ギ ン
グ す る と き の
注 意 点
logfile オ プ シ ョ ン
を 設 定 す る と
、 sudoers は /var/log/sudo
と い っ た ロ ー
カ ル な フ ァ イ
ル に ロ グ を 記
録 す る よ う に
な る 。 フ ァ イ
ル に ロ ギ ン グ
す る 場 合 も 、
sudoers は syslog(3) と ほ と
ん ど 同 じ 書 式
を 使 用 す る が
、 い つ く か の
重 要 な 違 い が
あ る 。
|
1. |
|
progname と hostname フ
ィ ー ル ド は 存
在 し な い 。 |
|
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 |
|
|
root
と wheel グ ル ー プ
に 属 す る す べ
て の ユ ー ザ に
は 、 ど の ホ ス
ト で も 任 意 の
ユ ー ザ と し て
い か な る コ マ
ン ド で も 実 行
す る こ と を 認
め る 。
|
|
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 に 属 す
る 任 意 の グ ル
ー プ (す な わ ち
、 adm か oper グ ル
ー プ ) と し て 実
行 で き る 。 ユ
ー ザ pete は 、 HPPA
に 属 す る マ シ
ン で root 以 外 な ら
誰 の パ ス ワ ー
ド で も 変 更 す
る こ と を 許 さ
れ て い る 。 コ
マ ン ド ラ イ ン
引 き 数 は 、 結
合 し て 一 つ の
文 字 列 に し た
上 で 、 マ ッ チ
ン グ を 行 う の
で 、 ワ イ ル ド
カ ー ド ’*’ は 、
複 数 の 単 語 と
マ ッ チ す る こ
と に な る 。 だ
か ら 、 こ の 例
は 、 passwd(1) が コ マ
ン ド ラ イ ン で
複 数 の ユ ー ザ
名 を 受 け 付 け
な い こ と を 前
提 と し て い る
の で あ る 。 GNU の
シ ス テ ム で は
、 passwd(1) に 対 す る
オ プ シ ョ ン を
ユ ー ザ 引 き 数
の 後 ろ に 置 く
こ と が で き る
の に 注 意 し て
い た だ き た い
。 そ の た め 、
こ の ル ー ル は
次 の よ う な コ
マ ン ド も 許 可
し て し ま う こ
と に な る 。
passwd username
−−expire こ れ は 、
望 ま し く な い
こ と か も し れ
な い 。
|
|
bob |
|
SPARC = (OP) ALL : SGI = (OP) ALL ユ ー
ザ bob は 、 SPARC や
SGI に 属 す る マ
シ ン で Runas_Alias OPに
登 録 さ れ て い
る 任 意 の ユ ー
ザ と し て (root と
operator で あ る ) ど
ん な コ マ ン ド
で も 実 行 で き
る 。 |
|
|
|
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 の
任 意 の ユ ー ザ
と し て (oracle か
sybase だ ) パ ス ワ ー
ド を 入 力 し な
い で も コ マ ン
ド を 実 行 す る
こ と が で き る
。 |
|
|
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/ デ
ィ レ ク ト リ に
あ る 任 意 の コ
マ ン ド を 実 行
で き る が 、 SU
や SHELLS と い う 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 と い う 行 は
、 SU や SHELLS に 列
記 さ れ て い る
コ マ ン ド の 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) で 別 の 共 有
ラ イ ブ ラ リ を
指 定 す る こ と
に よ っ て 、 デ
フ ォ ル ト の ラ
イ ブ ラ リ 関 数
を 置 き 換 え る
こ と が で き る
も の が 多 い 。
そ う い っ た シ
ス テ ム で は 、
sudo の noexec 機 能
を 使 え ば 、 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 が 使 用 で き
る よ う に な っ
て お り 、 ユ ー
ザ は 好 み の エ
デ ィ タ を 使 っ
て 、 安 全 に フ
ァ イ ル を 編 集
す る こ と が で
き る 。 sudoedit は
sudo の 組 み 込 み
コ マ ン ド な の
で 、 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
| | | | | | | | | | | | | |