Tips

LinuxServer ファイル管理について ディレクトリのアクセス権と所有者の変更

  • chgrpコマンド
  • 所有グループのみを変更したい場合はchownコマンドのほかに、chgrpコマンドも使用できます。

    [コマンド書式]
    chgrp -オプション グループ ファイル名(ディレクトリ名)

    使用方法はchownコマンドと同様、-Rオプションで指定したディレクトリ以下のファイルとディレクトリの所有グループを変更します

    ファイルシステムアクセスリスト:ACL

    「所有者」「所有グループ」「その他ユーザー」ごとにアクセス権を設定するやり方では、
    アクセス権を「rw-r—–(640)」に設定したファイルの場合のアクセス権は次のとおりになります。

    ・所有者は読み取りと書き込みができる
    ・所有グループのユーザーには読み取りのみができる(書き込みはできない)
    ・その他ユーザーにはいっさいの権限がない

    このファイルに対し、所有グループに所属していない特定ユーザへアクセス権を付与したい時に、
    ファイルシステムのACL(Access Control List)機能を利用すると、特定のユーザーやグループに対して
    アクセス権を設定することができます。

    ACLは、ext2、ext3、XFS、ReiserFS、JFSで利用でき、通常、XFSとJFSでは、デフォルトでACLが有効になっています。

    ext2、ext3、ReiserFSにて使用する場合、マウントオプションとして「acl」を追加する必要があります。

    [コマンド]ACLが設定されているか、/etc/fstabを確認
    $ cat /etc/fstab
    /dev/mapper/VolGroup-lv_root / ext4 defaults,acl 1 1
    UUID=4e05bada-9b44-48fe-a40e-f9e45e393e43 /boot ext4 defaults 1 2
    /dev/mapper/VolGroup-lv_home /home ext4 defaults,acl 1 2
    /dev/mapper/VolGroup-lv_swap swap swap defaults 0 0

    また、ACLが設定されているファイルはファイルのアクセス権表記の末尾に「+」が付加されます。

    $ ls -l
    -rw-rw-r–+ 1 test test 0 Nov 19 14:25 testfile01.txt

    ファイルやディレクトにACLを設定するには、setfaclコマンドを使用します。

    [コマンド書式]
    setfacl -オプション ACLエントリ ファイル名(ディレクトリ名)

    オプション

    オプション 説明
    -m ACLエントリ ACLエントリを設定します
    -x ACLエントリ ACLエントリを解除します
    -R 指定したディレクトリ以下のファイルとディレクトリに対し、ACLを割り当てます

    ACLエントリの設定は次のとおりに行います。

    ACLエントリ

    エントリ 説明
    u(user):ユーザ名:アクセス権 指定したユーザに対し、アクセス権を設定します
    ユーザ名が空の場合は、所有者への設定なります
    g(gorup):グループ名:アクセス権 指定したグループに対し、アクセス権を設定します
    グループ名が空の場合は、所有グループへの設定なります
    o(other):ユーザ名:アクセス権 その他のユーザに対し、アクセス権を設定します。

    エントリのユーザ名(グループ名)の指定には名前と数値(uidとgid)のどちらも指定できます。

    アクセス権の指定には、rwxによる組み合わせか8進数での表記が使用できます。

    ファイルやディレクトリに設定されたACLを確認するにはgetfaclコマンドを使用します。

    [コマンド実行例]
    $ getfacl testfile01.txt
    # file: testfile01.txt
    # owner: test
    # group: test
    user::rw-
    group::rw-
    mask::rw-
    other::r–

    ・testfile01.txtへユーザstaffのrwのアクセス権を追加します。
    $ setfacl -m u:staff:rw- testfile01.txt

    $ getfacl testfile01.txt
    # file: testfile01.txt
    # owner: test
    # group: test
    user::rw-
    user:staff:rw-
    group::rw-
    mask::rw-
    other::r–

    ・testfile01.txtへユーザstaffのrwのアクセス権を削除します。
    $ setfacl -x u:staff testfile01.txt

    $ getfacl testfile01.txt
    # file: testfile01.txt
    # owner: test
    # group: test
    user::rw-
    group::rw-
    mask::rw-
    other::r–

    Linux認定資格 LPICを取るなら・・

    Linux資格 「LPIC Lv1」徹底解説 連載目次

    Recent News

    Recent Tips

    Tag Search