GNU/Linux >> Linux の 問題 >  >> Cent OS

Linux ファイルシステムで ACL (アクセス制御リスト) を構成する方法

ファイルとディレクトリに対する従来の Linux アクセス許可は、ファイルまたはディレクトリの所有者、ファイルまたはディレクトリが関連付けられているグループのメンバー、およびその他のすべての人 (その他) に対して、読み取り、書き込み、および実行の許可の組み合わせを設定することで構成されます。アクセス制御リスト (ACL) は、これらの従来の Linux アクセス許可よりもきめ細かいアクセス制御メカニズムを提供します。

ACL のインストール

ファイルまたはディレクトリに ACL を使用する前に、acl パッケージをインストールしてください:

# yum install acl

ファイル システムでの ACL の構成

ファイルまたはディレクトリを含むファイル システムも、ACL をサポートするようにマウントする必要があります。以下は、ACL をサポートするローカル ext3 ファイル システムをマウントするための構文です:

# mount -t ext3 -o acl [device-name] [mount-point]

例:

# mount -t ext3 -o acl /dev/mapper/VolGroup00-LogVol00 /data

パーティションが /etc/fstab ファイルにリストされている場合は、acl オプションを含めます:

# vi /etc/fstab
LABEL=/data    /data    ext3    acl     0    0

ACL ルール

ACL は、ACL が関連付けられているファイルまたはディレクトリにユーザーまたはグループがアクセスする方法を指定する一連の規則で構成されます。 ACL ルールには次の 2 種類があります:

<オール>
  • ACL にアクセス :単一のファイルまたはディレクトリのアクセス情報を指定します
  • デフォルト ACL :ディレクトリのみに関係します。アクセス ACL を持たないディレクトリ内のすべてのファイルのデフォルトのアクセス情報を指定します。
  • ファイルの ACL を表示

    getfacl を使用します ファイルの ACL を表示するユーティリティ。ファイルに ACL がない場合、形式は異なりますが、「ls –l」と同じ情報が表示されます。たとえば、ファイル テストには ACL がありません:

    # ls –l test
    -rw-rw-r-- 1 oracle oracle 25 Mar 5 10:10 test

    テスト ファイルの getfacl 出力の例:

    # getfacl test 
    # file: test
    # owner: oracle 
    # group: oracle 
    user::rw- 
    group::rw- 
    other::r--

    ファイルに ACL を構成する

    setfacl を使用する ファイルの ACL で 1 つ以上のルールを追加または変更するユーティリティ。構文は次のとおりです。

    # setfacl -m [rules] [files]

    ルールは次の形式です:

    • u:name:パーミッション :ユーザー (ユーザー名または UID) のアクセス ACL を設定します
    • g:name:パーミッション :グループのアクセス ACL を設定します (グループ名または GID)
    • m:パーミッション :有効な権利マスクを設定します。これは、所有グループのすべての権限と、すべてのユーザーおよびグループ エントリの和集合です。
    • o:パーミッション :他の全員 (others) のアクセス ACL を設定します

    パーミッションは、それぞれ読み取り、書き込み、および実行を表す従来の r、w、および x です。次の例では、テスト ファイルの ACL にルールを追加して、oracle ユーザーにそのファイルへの読み取りおよび書き込み権限を付与します。

    # setfacl -m u:oracle:rwx test

    getfacl の出力には、ACL ルールが含まれます:

    # getfacl test 
    # file: test
    # owner: oracle 
    # group: oracle 
    user::rw- 
    user:oracle:rwx 
    group::rw- 
    mask::rwx 
    other::r--

    ファイルに ACL がある場合、「ls –l」はプラス記号 (+ ) 次の権限:

    # ls –l test
    -rw-rwxr--+ 1 oracle oracle 25 Mar 5 10:10 test

    ファイルの ACL の削除

    –x を使用します ユーザーまたはグループのルールを削除するための権限を指定せずにオプションを削除します。

    # setfacl –x u:oracle test

    ACL 自体を削除するには、-b を使用します オプション:

    # setfacl –b test

    デフォルト ACL の設定

    デフォルトの ACL を設定するには、d: を追加します ルールの前に、ファイル名の代わりにディレクトリを指定します:

    # setfacl -m d:o:rx /share
    UNIX/Linux :アクセス制御リスト (ACL) の基本


    Cent OS
    1. Linuxでファイルの名前を変更するにはどうすればよいですか?

    2. Linux システムでユーザーに sudo アクセスを提供するために sudoers ファイルで AD グループを構成する方法

    3. UNIX/Linux :アクセス制御リスト (ACL) の基本

    1. Linuxのアクセス制御リストと外付けドライブ:知っておくべきこと

    2. ファイル linux への同時アクセス

    3. パニック時にリブートするように Linux カーネルを早期に構成する方法は?

    1. Linuxアクセス制御リスト(ACL)の概要

    2. LinuxファイルでACLを表示または変更する方法

    3. Linux でファイル圧縮を使用して ZFS ファイルシステムを作成する方法