No.061権限と所有者

setfacl

セットエフエーシーエル・ACL設定

知識レベル 実践注意一般ユーザーで使える別名 ACL

ファイルやディレクトリへACLを設定します。個別ユーザーやグループへ細かな権限を与える時に有効ですが、maskや既定ACLの理解が必要です。

答えよく使う形

  1. 個別ユーザー向けの追加権限が保存されます
  2. 既定ACLを設定すると配下新規作成物へ継承させる準備ができます
  3. ACLを追加または変更します

注意危険度は中程度です。

visitor@goodly: ~

$ setfacl -m u:alice:rw sample.txt getfacl sample.txt

user::rw-
user:alice:rw-
group::r--
mask::rw-
other::r--

$ setfacl -m d:g:project:rwx shared getfacl shared

default:group:project:rwx...

$ setfacl -m u:alice:rw file.txt

どんなコマンド?

こんなときに

共有ディレクトリで特定ユーザーやグループへ例外的な権限を与えたい時、既定ACLで継承ルールを作りたい時に使います。

setfaclは、ファイルやディレクトリに対してアクセス制御リストを追加、変更、削除するコマンドです。chmodが三者向けの基本権限を扱うのに対し、setfaclは個別ユーザーや個別グループへの例外的な権限制御を扱えます。

共有ディレクトリで特定ユーザーへだけ書き込み権を与える、ディレクトリへ既定ACLを設定して新規作成物へ継承させる、といった運用で有効です。

設定後はgetfaclで結果を確認し、maskや継承の影響まで読み直す習慣が重要です。

書き方とオプション

組み立ててみるオプションを押すと、下の1行に足されます。もう一度押すと外れます。

$ setfacl

使用例と実行結果

行を押すとコピーできます。

user::rw-
user:alice:rw-
group::r--
mask::rw-
other::r--
個別ユーザー向けの追加権限が保存されます。
default:group:project:rwx...
既定ACLを設定すると配下新規作成物へ継承させる準備ができます。

まず安全に試す

3分ミッション

手を動かすと覚えやすくなります。できたものに印を付けてください(この端末に残ります)。

0 / 2

つまずいたとき

設定したのに期待どおりにならない

原因mask行が実効権限を制限しているか、ファイルシステムがACLを十分に扱えていません。

こうするgetfaclでmaskを確認し、必要なら調整します。

Operation not supportedと表示される

原因対象ファイルシステムがACLに対応していないか、マウント設定で無効です。

こうするファイルシステム種別とマウントオプションを確認します。

終わったときの数(戻り値)

$ echo $?

  • 0正常終了。ACL変更に成功しました。
  • >0権限不足、ACL記述不正、対象不存在、ACL非対応などで変更できませんでした。

気をつけることと入れ方

気をつけること

危険度は中程度です。ACLは柔軟な反面、設定意図が見えにくくなりやすく、保守性を下げることがあります。設定後の確認が必須です。

環境による違い

POSIX必須ではなく、ACL対応環境と追加パッケージに依存することがあります。Linuxではaclパッケージに含まれることが多いです。

確かめた環境2026-04-09 に確認

よくある質問

chmodだけでは駄目ですか。

単純な三者向け権限制御で足りるなら十分です。個別ユーザーや個別グループへの例外設定が必要な時にsetfaclを使います。

設定後は何を確認すべきですか。

getfaclで結果を確認し、必要なら対象ユーザーで実アクセス確認まで行うのが安全です。

資格試験では

  • LinuC レベル2大事2.11.1 Sambaの設定と管理LinuCレベル2では、Sambaや共有設定の文脈でアクセス制御リストの理解が求められ、getfaclやsetfaclが重要な補助コマンドになります。
  • LPIC-2関係共有環境の権限制御LPIC-2では、共有や権限制御の理解を深める補助知識としてACL操作の理解が役立ちます。
  • 共通基礎大事Linuxコマンド基礎

setfacl を最後まで読みました。

Linux コマンド辞典に戻る102 / 144

Goodly のメニュー