setfacl − フ ァ イ ル の ア ク セ ス 制 御 リ ス ト (access control list) を 設 定 す る
setfacl [−bkndRLPvh] [{−m|−x} acl_spec] [{−M|−X} acl_file] file ...
setfacl −−restore=file
こ の ユ ー テ ィ リ テ ィ は フ ァ イ ル と デ ィ レ ク ト リ の ア ク セ ス 制 御 リ ス ト (Access Control List, ACL) を 設 定 す る 。 コ マ ン ド ラ イ ン で は 、 一 連 の コ マ ン ド の 後 に フ ァ イ ル 群 を 指 定 す る (さ ら に 別 の 一 連 の コ マ ン ド 、 フ ァ イ ル 群 、 ... を 続 け て 指 定 す る こ と が で き る )。 オ プ シ ョ ン −m と −x は ACL が コ マ ン ド ラ イ ン で 指 定 さ れ る こ と を 想 定 し て い る 。 複 数 の ACL エ ン ト リ は コ ン マ 文 字 (‘,’) で 区 切 ら れ る 。 オ プ シ ョ ン −M と −X は ACL を フ ァ イ ル ま た は 標 準 入 力 か ら 読 み 込 む 。 ACL エ ン ト リ の 書 式 は 、 「 ACL エ ン ト リ 」 の セ ク シ ョ ン で 説 明 さ れ て い る 。
−−set と −−set-file オ プ シ ョ ン は フ ァ イ ル と デ ィ レ ク ト リ の ACL を 設 定 す る 。 以 前 の ACL は 置 き 換 え ら れ る 。 こ の 操 作 で 指 定 さ れ る ACL エ ン ト リ は 、 許 可 (permission) を 含 ま な け れ ば な ら な い 。
−m (−−modify) と −M (−−modify-file) オ プ シ ョ ン は フ ァ イ ル と デ ィ レ ク ト リ の ACL を 変 更 す る 。 こ の 操 作 で 指 定 さ れ る ACL エ ン ト リ は 、 許 可 を 含 ま な け れ ば な ら な い 。
−x (−−remove) と −X (−−remove-file) オ プ シ ョ ン は ACL エ ン ト リ を 削 除 す る 。 POSIXLY_CORRECT が 定 義 さ れ て い な い 場 合 は 、 perms フ ィ ー ル ド を 持 た な い ACL エ ン ト リ だ け が 引 き 数 と し て 指 定 で き る 。
−M と −X オ プ シ ョ ン で (ACL を ) フ ァ イ ル か ら 読 み 込 む 場 合 、 setfacl は getfacl が 生 成 し た 出 力 を 受 け 付 け る 。 1 行 に は 最 大 で 1 つ の ACL エ ン ト リ が あ る 。 シ ャ ー プ 記 号 (‘#’) の 後 か ら 行 末 ま で は コ メ ン ト と し て 扱 わ れ る 。
ACL を
サ ポ ー ト し な
い フ ァ イ ル シ
ス テ ム 上 で setfacl
を 使 用 し た 場
合 、 setfacl は フ ァ
イ ル モ ー ド 許
可 ビ ッ ト を 操
作 す る 。 ACL が 許
可 ビ ッ ト と 完
全 に は 合 わ な
い 場 合 、 setfacl は
フ ァ イ ル モ ー
ド 許 可 ビ ッ ト
を ACL に 可 能 な 限
り 近 づ け る よ
う に 変 更 し 、
標 準 エ ラ ー 出
力 に エ ラ ー メ
ッ セ ー ジ を 書
き 出 し て 、 0 よ
り 大 き い 終 了
状 態 で 返 る 。
許 可 ケ ー パ ビ
リ テ ィ (capability) CAP_FOWNER を
持 つ フ ァ イ ル
所 有 者 と プ ロ
セ ス は 、 フ ァ
イ ル の ACL を 変 更
す る 権 限 が 付
与 さ れ て い る
。 こ れ は フ ァ
イ ル モ ー ド に
ア ク セ ス す る
の に 必 要 な 許
可 と 類 似 し て
い る (現 在 の Linux シ
ス テ ム で は 、
CAP_FOWNER ケ ー パ ビ リ
テ ィ を 持 つ ユ
ー ザ は root の み で
あ る )。 オ プ シ
ョ ン
−b, −−remove-all 全 て
の 拡 張 ACL エ ン ト
リ を 削 除 す る
。 所 有 者 ・ グ
ル ー プ ・ そ の
他 と い う 基 本 (base)
ACL エ ン ト リ は 保
存 さ れ る 。
−k, −−remove-default デ フ
ォ ル ト ACL を 削 除
す る 。 デ フ ォ
ル ト ACL が 存 在 し
な い 場 合 、 警
告 は 出 さ れ な
い 。
−n, −−no-mask 実 効
権 (effective right) マ ス ク
を 再 計 算 し な
い 。 setfacl の デ フ
ォ ル ト 動 作 で
は 、 ACL マ ス ク エ
ン ト リ が 明 示
的 に 指 定 さ れ
な い 限 り 、 ACL マ
ス ク エ ン ト リ
を 再 計 算 す る
。 マ ス ク エ ン
ト リ は 所 有 グ
ル ー プ ・ 指 名
ユ ー ザ (named user)・ 指
名 グ ル ー プ の
エ ン ト リ の 全
て の 許 可 を 結
合 し た も の に
設 定 さ れ る (マ
ス ク エ ン ト リ
に 影 響 を 受 け
る エ ン ト リ は
、 正 に こ れ ら
で あ る )。
−−mask
ACL マ ス ク エ ン ト リ が 明 示 的 に 指 定 さ れ て い る 場 合 で も 、 実 効 権 マ ス ク を 再 計 算 す る (−n オ プ シ ョ ン を 参 照 )。
−d,
−−default 全 て の
操 作 を デ フ ォ
ル ト ACL に 適 用 す
る 。 入 力 セ ッ
ト に 含 ま れ る
通 常 の ACL エ ン ト
リ を デ フ ォ ル
ト ACL エ ン ト リ に
昇 格 さ せ る 。
入 力 セ ッ ト に
含 ま れ る デ フ
ォ ル ト ACL エ ン ト
リ は 破 棄 さ れ
る (こ れ が 起 こ
っ た 場 合 は 警
告 を 出 す )。
−−restore=file
‘getfacl −R’ ま た は そ れ と 同 様 な も の で 作 成 さ れ た 許 可 の バ ッ ク ア ッ プ で 復 旧 す る 。 デ ィ レ ク ト リ サ ブ ツ リ ー の 全 て の 許 可 が 、 こ の 方 法 で 復 旧 さ れ る 。 入 力 に 所 有 者 コ メ ン ト ま た は グ ル ー プ コ メ ン ト が 含 ま れ て い て 、 か つ setfacl が root に よ っ て 実 行 さ れ て い る 場 合 、 全 て の フ ァ イ ル の 所 有 者 と 所 有 グ ル ー プ も 復 旧 さ れ る 。 こ の 操 作 は ‘−−test’ 以 外 の オ プ シ ョ ン と 併 用 で き な い 。
−−test
テ ス ト モ ー ド
。 フ ァ イ ル の ACL
を 変 更 す る 代
わ り に 、 結 果
の ACL の 一 覧 を 表
示 す る 。
−R, −−recursive 全 て
の フ ァ イ ル と
デ ィ レ ク ト リ
に 対 し て 再 帰
的 に 操 作 を 適
用 す る 。 こ の
オ プ シ ョ ン は
‘−−restore’ と 併
用 で き な い 。
−L, −−logical 論 理
的 に 辿 り 、 シ
ン ボ リ ッ ク リ
ン ク を 辿 る 。
デ フ ォ ル ト の
動 作 で は 、 シ
ン ボ リ ッ ク リ
ン ク 引 き 数 を
辿 り 、 サ ブ デ
ィ レ ク ト リ で
見 つ か っ た シ
ン ボ リ ッ ク リ
ン ク は ス キ ッ
プ す る 。 こ の
オ プ シ ョ ン は
‘−−restore’ と 併
用 で き な い 。
−P, −−physical 物 理
的 に 辿 り 、 全
て の シ ン ボ リ
ッ ク リ ン ク を
ス キ ッ プ す る
。 シ ン ボ リ ッ
ク リ ン ク 引 き
数 も ス キ ッ プ
す る 。 こ の オ
プ シ ョ ン は
‘−−restore’ と 併
用 で き な い 。
−−version
setfacl の バ ー ジ ョ ン を 表 示 し 、 終 了 す る 。
−−help コ マ ン ド ラ イ ン オ プ シ ョ ン を 説 明 す る ヘ ル プ を 表 示 す る 。
|
−− コ マ ン ド ラ イ ン オ プ シ ョ ン の 終 わ り 。 残 り の 引 き 数 は 、 た と え ダ ッ シ ュ 文 字 で 始 ま っ て い た と し て も 、 フ ァ イ ル 名 と し て 解 釈 さ れ る 。 | |
|
− フ ァ イ ル 名 引 き 数 が |
1 つ の ダ ッ シ ュ 文 字 で あ る 場 合 、 setfacl は 標 準 入 力 か ら フ ァ イ ル の リ ス ト を 読 み 込 む 。
ACL エ
ン ト リ
setfacl ユ ー テ ィ リ
テ ィ は 以 下 の ACL
エ ン ト リ 書 式
を 認 識 す る (分
か り や す い よ
う に 空 白 を 挿
入 し て あ る ):
[d[efault]:] [u[ser]:]uid [:perms] 指
名 ユ ー ザ の 許
可 。 uid が 空 の
場 合 は 、 フ ァ
イ ル 所 有 者 の
許 可 。
[d[efault]:] g[roup]:gid [:perms] 指
名 グ ル ー プ の
許 可 。 gid が 空
の 場 合 は 、 所
有 者 グ ル ー プ
の 許 可 。
[d[efault]:] m[ask][:] [:perms] 実 効
権 マ ス ク 。
[d[efault]:] o[ther][:] [:perms] そ の
他 の 許 可 。 区
切 り 文 字 と 区
切 り 文 字 以 外
の 間 の 空 白 は
無 視 さ れ る 。
許 可 を 含 む 正
式 な ACL エ ン ト リ
は 、 修 正 と 設
定 の 操 作 (オ プ
シ ョ ン −m, −M,
−−set, −−set-file)
で 使 用 さ れ る
。 perms フ ィ ー ル
ド の な い エ ン
ト リ は 、 エ ン
ト リ の 削 除
(オ プ シ ョ ン
−x と −X) で 使
用 さ れ る 。
uid と gid に は 名 前 と 数 値 の ど ち ら も 指 定 で き る 。
perms フ ィ ー ル ド 許 可 を 表 す 文 字 の 組 み 合 わ せ で あ る 。 読 み 込 み (r), 書 き 込 み (w), 実 行 (x) は 、 フ ァ イ ル が デ ィ レ ク ト リ で あ る か 何 れ か の ユ ー ザ の 実 行 許 可 (X) が 既 に あ る 場 合 に の み 実 行 さ れ る 。 文 字 の 組 合 わ せ の 代 わ り に 、 perms フ ィ ー ル ド を 8 進 数 (0−7) に す る こ と も で き る 。 自 動 的 に 作 成 さ れ る エ ン ト リ 初 期 状 態 で は 、 フ ァ イ ル と デ ィ レ ク ト リ は 所 有 者 ・ グ ル ー プ ・ そ の 他 と い う 3 つ の 基 本 ACL エ ン ト リ を 持 つ 。 ACL が 有 効 で あ る た め に は 満 た さ な け れ ば な ら な い 、 い く つ か の ル ー ル が あ る 。
|
* |
3 つ の 基 本 エ ン ト リ は 削 除 で き な い 。 こ れ ら の 基 本 エ ン ト リ 型 の そ れ ぞ れ に 対 し て 、 必 ず 1 つ の エ ン ト リ が な け れ ば な ら な い 。 | ||||||||||
|
* |
ACL が 指 名 ユ ー ザ エ ン ト リ ま た は 指 名 グ ル ー プ オ ブ ジ ェ ク ト を 持 つ 場 合 、 実 効 権 マ ス ク も 持 た な け れ ば な ら な い 。 | ||||||||||
|
* |
ACL が デ フ ォ ル ト ACL エ ン ト リ を 持 つ 場 合 、 3 つ の デ フ ォ ル ト ACL 基 本 エ ン ト リ (デ フ ォ ル ト 所 有 者 ・ デ フ ォ ル ト グ ル ー プ ・ デ フ ォ ル ト の そ の 他 ) が 存 在 し な け れ ば な ら な い 。 デ フ ォ ル ト ACL が 指 名 ユ ー ザ エ ン ト リ ま た は 指 名 グ ル ー プ オ ブ ジ ェ ク ト を 持 つ 場 合 、 デ フ ォ ル ト 実 効 権 マ ス ク も 持 た な け れ ば な ら な い 。 ユ ー ザ が こ れ ら の ル ー ル を 確 実 に 守 る た め の 助 け と し て 、 setfacl は 以 下 の 条 件 で 既 存 の エ ン ト リ か ら エ ン ト リ を 作 成 す る : *
|