小さなホームネットワークでZFSNFSエクスポートを使用しようとしています。これまでのところ、エクスポートとマウントを行うことができましたが、マウントされたディレクトリはユーザー「nobody」にマップされ、読み取り専用です。マウントに書き込めたらいいのですが。
サーバーはSolaris11.3を実行しており、を使用してホームディレクトリをエクスポートしました。
zfs set share.nfs=on pool/export/home/nfs
このシステムでは、1001のuidと10のgidがあります。
LinuxとmacOSにマウントしてみました。 Linuxでは私のuid/gidは両方とも1000で、macOSでは501/20です。 FreeBSDからのマウントは、uidが同じであるため、読み取り/書き込みで機能します。
この問題は、uid(およびgids)が異なることが原因であると思います。私が試したいくつかのこと
どちらも効果はありませんでした。
私は2つの可能な解決策を見ます:
編集:これが要求された情報です
# share
rpool_export_home_paulf /export/home/paulf nfs sec=sys,rw
そして
# sharectl get nfs
servers=1024
lockd_listen_backlog=32
lockd_servers=1024
lockd_retransmit_timeout=5
grace_period=90
server_versmin=2
server_versmax=4
client_versmin=2
client_versmax=4
server_delegation=on
nfsmapid_domain=
max_connections=-1
protocol=ALL
listen_backlog=32
device=
showmount_info=full
server_authz_cache_refresh=600
netgroup_refresh=600
resvport=false
共有に書き込めないという問題は、あなたが自分で述べたようにUID
とGID
が異なるためです。
これを行う最も簡単な方法は、同じGID
を使用して両方のマシンでグループを作成し、共有の所有権をグループに変更してから、ユーザーをグループに追加することです。
SolarisサーバーとLinuxマシンの両方で:
groupadd -u GID nfsgroup
Solarisサーバーの場合:
chown :nfsgroup /nfs/share
Linuxマシン上。
usermod -aG nfsgroup linuxuser
UIDを変更してそれを行うこともできますが、それは少し複雑です。上記のコマンドはあなたが望むものを与えるでしょう。