11.2. アクセス制御リストの管理
各ファイルおよびディレクトリーには、ユーザー所有者とグループ所有者を一度に指定できます。他のファイルやディレクトリーを非公開のままにし、別のユーザーまたはグループが所有する特定のファイルまたはディレクトリーにアクセスできるようなユーザーのパーミッションを付与する場合には、Linux アクセス制御リスト (ACL) を使用できます。
11.2.1. 現在のアクセス制御リストの表示
getfacl
ユーティリティーを使用して、現在の ACL を表示できます。
手順
特定のファイルまたはディレクトリーの現在の ACL を表示するには、以下を使用します。
$ getfacl file-name
file-name は、ファイルまたはディレクトリーの名前に置き換えます。
11.2.2. アクセス制御リストの設定
setfacl
ユーティリティーを使用して、ファイルまたはディレクトリーに ACL を設定できます。
前提条件
-
root
アクセス
手順
- ファイルまたはディレクトリーに ACL を設定するには、以下を使用します。
# setfacl -m u:username:symbolic_value file-name
username はユーザー名に、symbolic_value はシンボリック値に、file-name はファイルまたはディレクトリーの名前に置き換えます。詳細は、 setfacl
の man ページを参照してください。
例11.7 グループプロジェクトのパーミッションの変更
以下の例では、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--