NFS4 共有、Solaris 10 クライアント、CentOS 7 サーバーの ACL を読み取れません

NFS4 共有、Solaris 10 クライアント、CentOS 7 サーバーの ACL を読み取れません

まず、私の質問が適切でない場合はお許しください。これは serverfault への最初の投稿です :)

Linux/Windows/Solaris の混在ネットワークに LDAP と Kerberos 認証を正常に導入しました。Krb5 セキュリティ (プライバシー/整合性なし、認証のみ) を備えた NFS4 を提供する CentOS 7 サーバーがあります。CentOS 6 で共有を正常にマウントできます。ただし、Solaris 10 (Oracle Solaris 10 9/10 s10s_u9wos_14a SPARC) で共有をマウントすると、ACL 関連の奇妙なエラーが発生します。

マウントからの出力:

/mnt/exporthome on nfsserver.example.com:/export/home remote/read/write/setuid/devices/sec=krb5/xattr/dev=5ec0004

アクセス権はありますので、ファイルを読み取ることができます:

$ ls /mnt/exporthome/testuser/
testfile1.txt textfile2.txt

ただし、権限/ACL を読み取ることができず、代わりに次のメッセージが表示されます。

$ ls -la /mnt/exporthome/testuser/
ls: can't read ACL on /mnt/exporthome/testuser/: Permission denied

nfs4_domain はクライアントとユーザーの両方で正しく設定されており、ID マッピングはユーザーに対して機能しているようです。

$ getfacl /mnt/exporthome/testuser/

# file: /mnt/exporthome/testuser/
# owner: testuser
# group: testgroup
user::rwx
group::---              #effective:---
mask:rwx
other:---

私は見えます

ログに次のメッセージが表示されます。

/usr/lib/nfs/nfsmapid[349]: [ID 300081 daemon.error] valid_domain: Invalid inbound domain name .

メッセージを生成するコードを確認したところ、「受信ドメイン名」はリモート(つまりサーバー)の nfs4 ドメインを参照しています。トラフィックをスニッフィングしたところ、サーバーが fattr4_owner を「[メールアドレス]"。問題は reco_attr: ACL にあるようです。そこには 3 つの ACE があります。

ACE の「Who」フィールドは「OWNER@」、「GROUP@」、および「EVERYONE@」であるため、これらが「無効な受信ドメイン名」エラー メッセージの原因であると思われます。

OWNER@、GROUP@、EVERYONE@ (その他いくつか) は、NFSv4 ACL を定義する RFC で特別な意味を持って指定されており、前述したように、NFS 共有にアクセスする他のホストでは問題はありません。

Oracle のサイトを検索したところ、NFSv4/ACL/ZFS の記事の一部に、これらのプリンシパルが「owner@」、「group@」、および「everyone@」として記載されていました。

私は Solaris NFS サーバーにアクセスできませんが、これらのプリンシパルを含む ACE が小文字で送信され、ネイティブの Solaris 10 NFSv4 クライアントは大文字の ACE を処理できない (RFC で指定されているように) のではないかと思います。

そこで質問なのですが、他にも同様の導入を試みた人はいるでしょうか。そして、同じ結果になったでしょうか。Solaris 10 NFSv4 クライアントを動作させている人が ACL のプリンシパルをチェックしてくれるとありがたいです。実際、この時点では、どんな提案でもありがたいです。

前もって感謝します!

関連情報