NFS共有の場合、ルートのセカンダリグループは通常のアカウントとは異なる動作をしますか?

NFS共有の場合、ルートのセカンダリグループは通常のアカウントとは異なる動作をしますか?

オペレーティングシステム:Linux CentOS 7、NFSv4

あるコンピュータで、次の所有するNFS共有グループをエクスポートしました。国家金融サービスグル​​ープ2770グループの共同作業権限があります。

groupadd -g 5000 nfsgroup
chown nobody:nfsgroup /home/groupshare
chmod 2770 /home/groupshare

次に、別のコンピュータに同じグループを追加し、それをrootユーザーに割り当てます。その後、マウントされたNFS共有にアクセスしようとしましたが、「許可拒否」エラーが発生しました。

groupadd -g 5000 nfsgroup
usermod -a -G nfsgroup root
ls -l /mnt/groupshare       # Permission denied!

注:これを行うには、rootとして再度ログインしようとしてコンピュータを再起動しても、結果は同じでした。権限が拒否されました。

その後、一般アカウント(名前:ユーザー)とアクセスの問題なし

usermod -a -G nfsgroup user
su - user
ls -l /mnt/groupshare      # Works as expected, no permission errors

ルートの下の共有にアクセスする唯一の方法は、有効なグループを変更することです(追加する場合でも)。国家金融サービスグル​​ープあなたは):

su - root
newgrp nfsgroup
ls -l /mnt/groupshare     # No permission errors

私はこの行動が一貫性がなく奇妙だと思います。誰かがなぜこのように動作するのかを説明できますか?

いくつかの点で関連する可能性のある情報は次のとおりです。両方id(低ユーザーアカウント)、id user特に同じ出力を返します。グループ=1000(ユーザー)、5000(nfsグループ)idおよび(下アカウント)作成グループ=0(ルート)id root予想通り、出力は次のようになります。グループ=0(ルート),5000(nfsグループ)

ベストアンサー1

問題の原因を見つけたと思います。 NFSクライアントがNFS共有にアクセスすると、サーバーはアクセスするユーザーのUIDとGIDを確認します。デフォルトでは、NFSサーバーには、共有root_squashにrootとしてアクセスするNFSクライアントにUID / GIDを割り当てるオプションが有効になっています。無人

no_root_squashファイルのエクスポートにオプションを追加した後、/etc/exports問題は消えました。

明らかに、NFSサーバーがルートのUID / GIDを「圧縮」すると、補足グループは完全に無視されます(私にとっては間違っているように見えますが、NFSv4標準には他のアイデアがあるかもしれません)。

おすすめ記事