Linuxでアクセス制御リスト(ACL)を設定する方法

この記事ではLinuxにおけるアクセス制御リスト(ACL: Access Control Lists)の設定について解説します。具体的なコマンド例、その詳細解説、そして実用的な応用例を5つ以上掲載しています。ACLを理解し、実際の運用で役立てるための情報が満載です。

目次

ACL(アクセス制御リスト)とは?

ACL(Access Control Lists)とは、ファイルやディレクトリに対するアクセス制御をより細かく設定できるLinuxの機能です。通常の`chmod`コマンドで設定するパーミッションよりも、特定のユーザーやグループに対して柔軟にアクセス権を設定できます。

ACLの設定方法

ACLを設定する基本的なコマンドは`setfacl`と`getfacl`です。`setfacl`はACLを設定するためのコマンドであり、`getfacl`は設定されたACLを確認するコマンドです。

基本的なACL設定

# ユーザー"alice"に対して"myfile.txt"の読み取り権限を設定
setfacl -m u:alice:r myfile.txt

上記のコマンドは、`myfile.txt`というファイルに対して、ユーザー`alice`に読み取り権限(r)を設定します。

ACL設定の確認

# myfile.txtのACL設定を確認
getfacl myfile.txt

`getfacl`コマンドで、既に設定されたACLの内容を確認できます。

応用例

ここからは、ACLの応用例を5つ紹介します。

応用例1: 特定のグループに書き込み権限を設定

# グループ"developers"に対して"project/"ディレクトリの書き込み権限を設定
setfacl -m g:developers:rw project/

この設定により、”developers”というグループのメンバーは”project/”ディレクトリに対して読み書きができるようになります。

応用例2: 複数のユーザーに対する設定

# aliceとbobに対して同時に読み取り権限を設定
setfacl -m u:alice:r,u:bob:r myfile.txt

`alice`と`bob`の二人に対して、`myfile.txt`の読み取り権限を一度に設定できます。

応用例3: ACL設定の削除

# aliceのACL設定を削除
setfacl -x u:alice myfile.txt

`-x`オプションで、特定のユーザーのACL設定を削除できます。

応用例4: ディレクトリ内の全てのファイルに適用

# ディレクトリ内の全てのファイルにaliceに対する読み取り権限を設定
find ./mydir -type f -exec setfacl -m u:alice:r {} \;

`find`コマンドと`setfacl`コマンドを組み合わせて、特定のディレクトリ内の全てのファイルに対する設定が可能です。

応用例5: マスクの利用

# マスクを設定して、特定の権限を制限
setfacl -m m::r myfile.txt

マスクを利用することで、特定の権限を制限できます。

まとめ

LinuxにおけるACL設定は非常に柔軟であり、細かいアクセス制御が可能です。基本的なコマンドから応用例まで、さまざまなケースでのACL設定方法を学びました。これらの知識を用いて、よりセキュアで効率的なシステムを構築してください。

created by Rinker
オライリージャパン
¥3,080 (2024/11/22 17:53:11時点 Amazon調べ-詳細)

コメント

コメントする

目次