CentOS の ACL を使用してファイルやディレクトリに対するアクセスを許可します
Cent OSでACL(アクセス制御リスト)を使用してファイルとディレクトリのアクセス権を制限するには、以下の手順を実行します。
- ファイルシステムがACLをサポートしているか確認する:次のコマンドを使用して、ファイルシステムがACL機能を有効にしているか確認できます。
tune2fs -l /dev/sda1 | grep "Default mount options:"
aclオプションが出力に含まれていれば、ファイルシステムのACL機能が有効になっています。有効になっていなければ、/etc/fstabファイルを編集してマウントオプションにaclオプションを追加することでACLを有効化できます。
- ACL ツールのインストール: システムに ACL ツールがインストールされていない場合、以下のコマンドでインストールが可能です。
yum install acl
- setfacl
- setfacl
- ユーザーの読み取り権限を設定:setfacl -m u:username:r /path/to/file
- ユーザーの書き込み権限を設定する: setfacl -m u:ユーザー名:w /ファイルへのパス
- ユーザーの実行権限設定:setfacl -m u:ユーザー名:x /パス/ファイル
- ユーザーのデフォルトACLパーミッションを設定:setfacl -d -m u:ユーザ名:rwx /ディレクトリ/パス
- getfacl
- getfacl
- ファイルのACL権限を表示:getfacl /path/to/file
- getfacl /path/to/directoryでディレクトリACLを表示
- setfacl
- それは、今がその長い旅が終わる時です
- setfacl
- ユーザーのACL権限を削除する:setfacl -x u:username /path/to/file
- ユーザーのデフォルトACLの権限を削除:setfacl -d -x u:username /ディレクトリのパス
なお、ACL権限は従来のパーミッションベースのファイル権限と併用されます。そのため、適切なパーミッションベースのファイル権限も設定されていることを確認する必要があります。