6.5. POSIX アクセス制御リスト
基本的な Linux ファイルシステムのパーミッションは、所有ユーザー、所有しているグループのメンバー、その他のすべてのユーザーの 3 つのユーザータイプに基づいて割り当てられます。POSIX アクセス制御リスト (ACL) は、管理者が、自分のユーザーおよびグループだけでなく、任意のユーザーおよびグループに基づいてファイルおよびディレクトリーのアクセス権限も設定できるようにすることで、このシステムの制限を回避します。
本セクションでは、アクセス制御リストを表示して設定する方法、およびこの機能を Red Hat Gluster Storage ボリュームで有効にする方法を説明します。ACL の仕組みの詳細については、『Red Hat Enterprise Linux 7 システム管理者のガイド』を参照してください。https://access.redhat.com/documentation/ja-JP/Red_Hat_Enterprise_Linux/7/html/System_Administrators_Guide/ch-Access_Control_Lists.html
6.5.1. setfacl で ACL の設定
setfacl コマンドを使用すると、指定したファイルまたはディレクトリーの ACL を変更できます。
-m
サブコマンドでファイルのアクセスルールを追加するか、-x
サブコマンドでファイルのアクセスルールを削除できます。基本的な構文は以下のとおりです。
# setfacl subcommand access_rule file_path
アクセスルールの構文は、ルールに従う必要があるロールによって異なります。
u:
で始まるユーザーのルール# setfacl -m u:user:perms file_path
たとえば、setfacl -m u:fred:rw /mnt/data は、ユーザーfred
に、/mnt/data
ディレクトリーへの read および write アクセスを付与します。setfacl -x u::w /works_in_progress/my_presentation.txt は、すべてのユーザーが/works_in_progress/my_presentation.txt
ファイルに書き込むのを防ぎます(これらは POSIX が制御されるためです)。- グループのルールは
g
で始まります。 # setfacl -m g:group:perms file_path
たとえば、setfacl -m g:admins:rwx /etc/fstab は、admins
グループのユーザーに、/etc/fstab
ファイルへの読み取り、書き込み、実行の権限を付与します。setfacl -x g:newbies:x /mnt/harmful_script.sh が、newbies
グループのユーザーが/mnt/harmful_script.sh
の実行を阻止します。o:
で始まるその他のユーザーのルール# setfacl -m o:perms file_path
たとえば、setfacl -m o:r /mnt/data/public は、/mnt/data/public directory
内のファイルを読み込むユーザー名またはグループパーミッションに関する特定のルールがないユーザーを許可します。- 実効権限マスクを使用して最大アクセスレベルを設定するルールでは、
m
から始まります。 # setfacl -m m:mask file_path
たとえば、setfacl -m m:r-x /mount/harmless_script.sh は、すべてのユーザーが/mount/harmless_script.sh
ファイルへの読み取りおよび実行アクセスを許可します。
d:
をルールの先頭に追加するか、-R
オプションでルールを再帰的にして、ディレクトリーのデフォルト ACL を設定できます。たとえば、setfacl -Rm d:g:admins:rwx /etc は admin
が 、setfacl が実行される際に /etc
ディレクトリーで作成されたファイルへのアクセス権限を付与します。