過去問ドリル

LinuCレベル3 セキュリティスペシャリスト アクセスおよび権限制御の強化 問16

アクセスおよび権限制御の強化/Linux Access Control Lists によるアクセス制御

RHEL 9のNFSサーバーが公開するディレクトリを、RHEL 9のクライアントで NFSv4 としてマウントした。このディレクトリのACLをクライアント側で確認・設定する方法に関する説明として適切なものはどれか。

当サイトのオリジナル問題(LinuCレベル3 セキュリティスペシャリストの出題範囲「アクセスおよび権限制御の強化」に対応。実際の試験問題ではありません)

正解: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で設定します。
LinuCレベル3 セキュリティスペシャリストの問題を演習モードで解く