名 前
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 は フ ァ イ ル の 所 有 者 と 所 有 グ ル ー プ を 復 旧 し よ う と す る 。 入 力 に (setuid, setgid, sticky ビ ッ ト を 定 義 す る ) フ ラ グ コ メ ン ト が 含 ま れ て い る 場 合 、 入 力 に 従 っ て こ れ ら の ビ ッ ト を 設 定 す る 。 指 定 さ れ な か っ た 場 合 は こ れ ら の ビ ッ ト を ク リ ア す る 。 こ の 操 作 は ’−−test’ 以 外 の オ プ シ ョ ン と 併 用 で き な い 。
−−test
テ ス ト モ ー ド
。 フ ァ イ ル の ACL
を 変 更 す る 代
わ り に 、 結 果
の ACL の 一 覧 を 表
示 す る 。
−R, −−recursive 全 て
の フ ァ イ ル と
デ ィ レ ク ト リ
に 対 し て 再 帰
的 に 操 作 を 適
用 す る 。 こ の
オ プ シ ョ ン は
’−−restore’ と 併
用 で き な い 。
−L, −−logical 論 理
的 に 辿 り 、 デ
ィ レ ク ト リ へ
の シ ン ボ リ ッ
ク リ ン ク を 辿
る 。 デ フ ォ ル
ト の 動 作 で は
、 シ ン ボ リ ッ
ク リ ン ク 引 き
数 を 辿 り 、 サ
ブ デ ィ レ ク ト
リ で 見 つ か っ
た シ ン ボ リ ッ
ク リ ン ク は ス
キ ッ プ す る 。
−R と 一 緒 に 使
用 し た 場 合 に
の み 効 果 を 持
つ 。 こ の オ プ
シ ョ ン は
’−−restore’ と 併
用 で き な い 。
−P, −−physical 物 理
的 に 辿 り 、 デ
ィ レ ク ト リ へ
の シ ン ボ リ ッ
ク リ ン ク を ス
キ ッ プ す る 。
シ ン ボ リ ッ ク
リ ン ク 引 き 数
も ス キ ッ プ す
る 。 −R と 一 緒
に 使 用 し た 場
合 に の み 効 果
を 持 つ 。 こ の
オ プ シ ョ ン は
’−−restore’ と 併
用 で き な い 。
−v, −−version
setfacl の バ ー ジ ョ ン を 表 示 し 、 終 了 す る 。
−h, −−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 は 以 下 の 条 件 で 既 存 の エ ン ト リ か ら エ ン ト リ を 作 成 す る : *
|