Manpages

名 前

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) で 使 用 さ れ る 。

uidgid に は 名 前 と 数 値 の ど ち ら も 指 定 で き る 。

perms フ ィ ー ル ド 許 可 を 表 す 文 字 の 組 み 合 わ せ で あ る 。 読 み 込 み (r), 書 き 込 み (w), 実 行 (x) は 、 フ ァ イ ル が デ ィ レ ク ト リ で あ る か 何 れ か の ユ ー ザ の 実 行 許 可 (X) が 既 に あ る 場 合 に の み 実 行 さ れ る 。 文 字 の 組 合 わ せ の 代 わ り に 、 perms フ ィ ー ル ド を 8 進 数 (0−7) に す る こ と も で き る 。 自 動 的 に 作 成 さ れ る エ ン ト リ 初 期 状 態 で は 、 フ ァ イ ル と デ ィ レ ク ト リ は 所 有 者 ・ グ ル ー プ ・ そ の 他 と い う 3 つ の 基 本 ACL エ ン ト リ を 持 つ 。 ACL が 有 効 で あ る た め に は 満 た さ な け れ ば な ら な い 、 い く つ か の ル ー ル が あ る 。

*

3 つ の 基 本 エ ン ト リ は 削 除 で き な い 。 こ れ ら の 基 本 エ ン ト リ 型 の そ れ ぞ れ に 対 し て 、 必 ず 1 つ の エ ン ト リ が な け れ ば な ら な い 。

*

ACL が 指 名 ユ ー ザ エ ン ト リ ま た は 指 名 グ ル ー プ オ ブ ジ ェ ク ト を 持 つ 場 合 、 実 効 権 マ ス ク も 持 た な け れ ば な ら な い 。

*

ACL が デ フ ォ ル ト ACL エ ン ト リ を 持 つ 場 合 、 3 つ の デ フ ォ ル ト ACL 基 本 エ ン ト リ (デ フ ォ ル ト 所 有 者 ・ デ フ ォ ル ト グ ル ー プ ・ デ フ ォ ル ト の そ の 他 ) が 存 在 し な け れ ば な ら な い 。

*

デ フ ォ ル ト ACL が 指 名 ユ ー ザ エ ン ト リ ま た は 指 名 グ ル ー プ オ ブ ジ ェ ク ト を 持 つ 場 合 、 デ フ ォ ル ト 実 効 権 マ ス ク も 持 た な け れ ば な ら な い 。 ユ ー ザ が こ れ ら の ル ー ル を 確 実 に 守 る た め の 助 け と し て 、 setfacl は 以 下 の 条 件 で 既 存 の エ ン ト リ か ら エ ン ト リ を 作 成 す る :

*

ACL が 指 名 ユ ー ザ ま た は 指 名 グ ル ー プ の エ ン ト リ を 持 ち 、 か つ マ ス ク エ ン ト リ が 存 在 し な い 場 合 、 グ ル ー プ エ ン ト リ と 同 じ 許 可 を 持 つ マ ス ク エ ン ト リ が 作 成 さ れ る 。 −n オ プ シ ョ ン が 指 定 さ れ な い 限 り 、 マ ス ク エ ン ト リ の 許 可 は 、 そ の マ ス ク エ ン ト リ の 影 響 を 受 け る 全 て の 許 可 を 合 わ せ た も の 含 め る よ う に 、 更 に 調 整 さ れ る (−n オ プ シ ョ ン の 説 明 を 参 照 す る こ と )。

*

デ フ ォ ル ト ACL エ ン ト リ が 作 成 さ れ 、 か つ デ フ ォ ル ト ACL が 所 有 者 ・ 所 有 グ ル ー プ ・ そ の 他 の エ ン ト リ を 持 た な い 場 合 、 ACL 所 有 者 ・ 所 有 グ ル ー プ ・ そ の 他 の エ ン ト リ の コ ピ ー が デ フ ォ ル ト ACL に 追 加 さ れ る 。

*

デ フ ォ ル ト ACL が 指 名 ユ ー ザ ま た は 指 名 グ ル ー プ の エ ン ト リ を 持 ち 、 か つ マ ス ク エ ン ト リ が 存 在 す る 場 合 、 デ フ ォ ル ト ACL の グ ル ー プ エ ン ト リ と 同 じ 許 可 を 持 つ マ ス ク エ ン ト リ が 追 加 さ れ る 。 −n オ プ シ ョ ン が 指 定 さ れ な い 限 り 、 マ ス ク エ ン ト リ の 許 可 は 、 そ の マ ス ク エ ン ト リ の 影 響 を 受 け る 全 て の 許 可 を 合 わ せ た も の 含 め る よ う に 、 更 に 調 整 さ れ る (−n オ プ シ ョ ン の 説 明 を 参 照 す る こ と )。

追 加 の ユ ー ザ の 読 み 込 み ア ク セ ス を 許 可 す る 。

setfacl −m u:lisa:r file 全 て の グ ル ー プ と 全 て の 指 名 ユ ー ザ の 書 き 込 み ア ク セ ス を (実 効 権 マ ス ク を 使 っ て ) 取 り 消 す 。
setfacl −m m::rx file フ ァ イ ル の ACL か ら 指 名 グ ル ー プ エ ン ト リ を 削 除 す る 。
setfacl −x g:staff file あ る フ ァ イ ル の ACL を 他 に コ ピ ー す る 。
getfacl file1 | setfacl −−set−file=− file2 ア ク セ ス ACL を デ フ ォ ル ト ACL に コ ピ ー す る 。
getfacl −−access dir | setfacl −d −M− dir

POSIX 1003.1e DRAFT STANDARD 17 へ の 準 拠

環 境 変 数 POSIXLY_CORRECT が 定 義 さ れ て い る 場 合 、 getfacl の デ フ ォ ル ト の 動 作 は 、 以 下 の よ う に 変 わ る 。 標 準 に 準 拠 し な い 全 て の オ プ シ ョ ン は 無 効 に さ れ る 。 “default:” プ レ フ ィ ッ ク ス は 無 効 に さ れ る 。 −x−X オ プ シ ョ ン は 許 可 フ ィ ー ル ド を 受 け 付 け る (し か し 、 無 視 す る )。

著 者

Andreas Gruenbacher, <a.gruenbacher [AT] bestbits.at>. バ グ 報 告 ・ 提 案 し た い 機 能 ・ 意 見 は 上 記 の ア ド レ ス に 送 っ て ほ し い 。

関 連 項 目

getfacl(1), chmod(1), umask(1), acl(5)