NFS : NFS 4 ACL ツール2025/10/20 |
|
NFS 4 ACL ツールを使用すると、NFS(v4) ファイルシステム上でも ACL の設定が可能となります。 |
|
| [1] | NFSv4 で NFS 共有領域をマウントしている NFS クライアント上で NFS 4 ACL ツールをインストールします。 |
|
node01:~ # zypper -n install nfs4-acl-tools
|
| [2] | 例として、[node01.srv.world] 上で [dlp.srv.world:/home/nfsshare] の領域を NFSv4 で [/mnt] にマウントしているとします。 |
|
node01:~ # df -hT /mnt Filesystem Type Size Used Avail Use% Mounted on dlp.srv.world:/home/nfsshare nfs4 28G 2.7G 25G 10% /mntnode01:~ # ll /mnt total 4 drwx------. 1 root root 0 Oct 20 09:35 testdir -rw-------. 1 root root 20 Oct 20 09:35 testfile.txt |
| [3] | NFSv4 ファイルシステム上の ファイル/ディレクトリの ACL を表示する。 |
|
node01:~ # nfs4_getfacl /mnt/testfile.txt # file: /mnt/testfile.txt A::OWNER@:rwatTcCy A::GROUP@:tcy A::EVERYONE@:tcynode01:~ # nfs4_getfacl /mnt/testdir # file: /mnt/testdir A::OWNER@:rwaDxtTcCy A::GROUP@:tcy A::EVERYONE@:tcy # 表示される ACL は [:] 区切りで下記の項目を表示
# ACE = Access Control Entry # (ACE Type):(ACE Flags):(ACE Principal):(ACE Permissions) |
各項目の意味です。
|
| [4] | ACE を追加/削除する。 |
|
node01:~ # ll /mnt total 4 drwx------. 1 root root 0 Oct 20 09:35 testdir -rw-------. 1 root root 20 Oct 20 09:35 testfile.txtnode01:~ # nfs4_getfacl /mnt/testfile.txt # file: /mnt/testfile.txt A::OWNER@:rwatTcCy A::GROUP@:tcy A::EVERYONE@:tcy # [/mnt/testfile.txt] ファイルへの一般的な読み取り/実行権を [suse] ユーザーに付与 node01:~ # USERID=$(grep '^suse:' /etc/passwd | cut -d':' -f3) node01:~ # nfs4_setfacl -a A::${USERID}:rxtncy /mnt/testfile.txt
nfs4_getfacl /mnt/testfile.txt # file: /mnt/testfile.txt D::OWNER@:x A::OWNER@:rwatTcCy A::1000:rxtcy A::GROUP@:tcy A::EVERYONE@:tcy # [suse] ユーザーで確認 suse@node01:~> ll /mnt total 4 drwx------. 1 root root 0 Oct 20 09:35 testdir -rw-r-x---+ 1 root root 20 Oct 20 09:35 testfile.txt
suse@node01:~> cat /mnt/testfile.txt test file # [/mnt/testfile.txt] ファイルへの一般的な読み取り/実行権を [suse] ユーザーから削除 node01:~ # nfs4_setfacl -x A::1000:rxtcy /mnt/testfile.txt
nfs4_getfacl /mnt/testfile.txt # file: /mnt/testfile.txt A::OWNER@:rwatTcCy A::GROUP@:tcy A::EVERYONE@:tcy |
| [5] | ACL を直接編集する。 |
|
node01:~ # nfs4_setfacl -e /mnt/testfile.txt
# $EDITOR にセットされたエディターが起動して ACL を直接編集可能
# SUSE の $EDITOR のデフォルトは [vim], $EDITOR=null の場合のデフォルトは [vi]
## Editing NFSv4 ACL for file: /mnt/testfile.txt
A::OWNER@:rwatTcCy
A::GROUP@:tcy
A::EVERYONE@:tcy
|
| [6] | ACE をファイルから追加する。 |
A::1000:RX A::1001:RWX # ファイルを指定して ACL 付与 node01:~ # nfs4_setfacl -A acl.txt /mnt/testfile.txt
nfs4_getfacl /mnt/testfile.txt # file: /mnt/testfile.txt D::OWNER@:x A::OWNER@:rwatTcCy A::1000:rxtcy A::1001:rwaxtcy A::GROUP@:tcy A::EVERYONE@:tcy |
| [7] | 既存の ACE を新しい ACE で置き換える。 |
A::OWNER@:rwaxtTcCy A::GROUP@:tcy A::EVERYONE@:tcy # ファイルを指定して ACL 置換 node01:~ # nfs4_setfacl -S acl.txt /mnt/testfile.txt
nfs4_getfacl /mnt/testfile.txt # file: /mnt/testfile.txt A::OWNER@:rwaxtTcCy A::GROUP@:tcy A::EVERYONE@:tcy |
| [8] | 特定の ACE を新しい ACE で置き換える。 |
|
node01:~ # nfs4_getfacl /mnt/testfile.txt # file: /mnt/testfile.txt A::OWNER@:rwaxtTcCy A::GROUP@:tcy A::EVERYONE@:tcy # EVERYONE の ACE を読み取り/実行可に置き換え node01:~ # nfs4_setfacl -m A::EVERYONE@:tcy A::EVERYONE@:RX /mnt/testfile.txt
nfs4_getfacl /mnt/testfile.txt # file: /mnt/testfile.txt A::OWNER@:rwaxtTcCy A::GROUP@:rxtcy A::EVERYONE@:rxtcy |
| Sponsored Link |
|
|