私はローカルネットワーク上の複数のDebian 10コンピュータ間で同じデフォルト設定でnfsを使用しており、すべて期待どおりに動作します。
私はautofsをrootとして使用し、各システムでnfs共有をマウントおよびアンマウントし、どこでも同じデフォルト設定を使用します。各クライアントコンピュータのユーザーはマウントされた共有に属するため、アクセスできますnobody:nogroup
。
これまで私は問題なくサーバーコンピュータの共有をクライアントコンピュータにマウントしてきました。だから、2つの別々のマシンがあります。
今度は、同じコンピュータでautofsを使用して、コンピュータが提供する共有をマウントしようとしています。したがって、サーバーとクライアントは同じマシン上にあります。
autofsが共有をマウントするのに問題はなく、root以外のユーザーはフォルダの内容を問題なく一覧表示してファイルを表示できますが、root以外のユーザーが共有に書き込もうとすると、「許可を拒否」というメッセージが表示されます。
$ touch test.file
touch: cannot touch 'test.file': Permission denied
$ echo "content" > test.file
bash: test.file: Permission denied
これは、ループバックで127.0.0.1を使用した場合、またはイーサネットまたはWiFiインターフェイスで192.168.xyを使用して共有にアクセスした場合に発生します。他のシステムはautofsを使用し、同じ設定を使用して問題なく同じ共有をマウントし、システムもautofsを使用し、同じ設定を使用して他のシステムの共有を問題なく再マウントします。
nfs サーバーの設定は次のとおりです。
$ sudo exportfs -v
/exports/share 127.0.0.1/32(rw,wdelay,root_squash,all_squash,sec=sys,rw,secure,root_squash,all_squash)
/exports/share 192.168.0.0/16(rw,wdelay,root_squash,all_squash,sec=sys,rw,secure,root_squash,all_squash)
以下は、他のファイルのデフォルトマップを介してロードされるautofs設定です。
$ cat /etc/auto.shares
share_loopback -fstype=nfs4,rw,retry=0,hard,noac,noexec,proto=tcp 127.0.0.1:/exports/share
share_network -fstype=nfs4,rw,retry=0,hard,noac,noexec,proto=tcp 192.168.x.y:/exports/share
ユーザーが同じデフォルト設定を使用して同じマシン上で同じnfs共有を手動でマウントすると、すべてが正常に機能し、権限の問題はありません。
$ sudo mount -t nfs4 -o rw,hard,noac,noexec,proto=tcp 127.0.0.1:/exports/share /media/share_loopback
$ sudo mount -t nfs4 -o rw,hard,noac,noexec,proto=tcp 192.168.x.y:/exports/share /media/share_network
autofsが手動でインストールしたときと内部的に異なる作業を行うようです。
それでは、autofsを介したマウントが「権限の拒否」を報告する原因は何であり、どのように機能させることができますか?