LinuCレベル3 セキュリティスペシャリスト アクセスおよび権限制御の強化 問16
アクセスおよび権限制御の強化/Linux Access Control Lists によるアクセス制御RHEL 9のNFSサーバーが公開するディレクトリを、RHEL 9のクライアントで NFSv4 としてマウントした。このディレクトリのACLをクライアント側で確認・設定する方法に関する説明として適切なものはどれか。
当サイトのオリジナル問題(LinuCレベル3 セキュリティスペシャリストの出題範囲「アクセスおよび権限制御の強化」に対応。実際の試験問題ではありません)
- ANFSv4ではサーバーのPOSIX ACLがそのまま転送されるため、クライアントでも getfacl・setfacl でサーバーと同じエントリを扱う
- BNFSv4はACLを転送できないため、クライアントから行えるのは所有者・グループ・その他のパーミッションの変更だけである
- CNFSv4のACLは許可と拒否のエントリを持つ、POSIX ACLとは別の形式で、nfs4_getfacl・nfs4_setfacl を使って扱う
- DNFSv4のACLはクライアント側だけで評価されるため、setfacl で設定した内容はサーバー側のアクセス判定に使われない
正解:C
解説
NFSv4のACLは、Windowsのアクセス制御に近いモデルで、許可(A)や拒否(D)などの種別を持つエントリ(ACE)を並べる形式です。POSIX ACLとは表現が異なるため、Linuxのクライアントでは nfs4-acl-tools パッケージの nfs4_getfacl・nfs4_setfacl で操作します。LinuxのNFSサーバー(knfsd)は、ローカルのファイルシステムにあるPOSIX ACLとNFSv4のACLの間で変換を行ってやり取りします。なお、NFSv3ではNFSACLという補助プロトコルがあり、getfacl・setfacl でPOSIX ACLを扱えます。SambaでもWindowsのACLとPOSIX ACLの変換が行われるなど、ファイル共有ではACLの形式の違いを意識する必要があります。なお、NFSv4.2でPOSIX ACLを直接扱えるようにする拡張は標準化と実装が進行中で、RHEL 9等では使えません。
選択肢ごとの解説
- A誤り。NFSv4ではACLはNFSv4形式でやり取りされ、サーバーはPOSIX ACLをNFSv4のACLへ変換して返します。getfacl・setfacl でそのまま扱えるのはNFSv3(NFSACLプロトコル)の場合です。
- B誤り。NFSv4はプロトコルとしてACL属性を持っており、パーミッションだけでなくACLも転送・設定できます。
- C正しい。NFSv4のACLは許可・拒否などの種別を持つエントリで構成されるPOSIX ACLとは別の形式で、クライアントでは nfs4_getfacl・nfs4_setfacl で確認・設定します。
- D誤り。NFSでのアクセス可否の最終的な判定はサーバー側で行われます。また、NFSv4のマウントに対してはsetfaclではなくnfs4_setfaclで設定します。