12.2. アクセス制御リストの管理
各ファイルおよびディレクトリーには、ユーザー所有者とグループ所有者を一度に指定できます。他のファイルやディレクトリーを非公開のままにし、別のユーザーまたはグループが所有する特定のファイルまたはディレクトリーにアクセスできるようなユーザーのパーミッションを付与する場合には、Linux アクセス制御リスト (ACL) を使用できます。
12.2.1. アクセス制御リストの設定
setfacl
ユーティリティーを使用して、ファイルまたはディレクトリーに ACL を設定できます。
前提条件
-
root
アクセス権がある。
手順
特定のファイルまたはディレクトリーの現在の ACL を表示するには、次のコマンドを実行します。
$ getfacl file-name
file-name は、ファイルまたはディレクトリーの名前に置き換えます。
- ファイルまたはディレクトリーに ACL を設定するには、以下を使用します。
# setfacl -m u:username:symbolic_value file-name
username はユーザー名に、symbolic_value はシンボリック値に、file-name はファイルまたはディレクトリーの名前に置き換えます。詳細は、システム上の setfacl
man ページを参照してください。
例12.9 グループプロジェクトのパーミッションの変更
以下の例では、root
グループに所属する root
ユーザーが所有する group-project
ファイルのパーミッションを修正する方法を説明します。このファイルは以下のように設定します。
- 誰にも実行権限がない。
-
ユーザー
andrew
のパーミッションはrw-
である。 -
susan
ユーザーのパーミッションは---
である。 -
他のユーザーのパーミッションは
r--
である。
手順
# setfacl -m u:andrew:rw- group-project # setfacl -m u:susan:--- group-project
検証
ユーザー
andrew
にrw-
パーミッションがあり、ユーザーsusan
には---
パーミッションがあり、その他のユーザーにr--
パーミッションがあることを確認するには、以下を実行します。$ getfacl group-project
返される出力は以下のとおりです。
# file: group-project # owner: root # group: root user:andrew:rw- user:susan:--- group::r-- mask::rw- other::r--