簡単な質問Solaris 11でnfs共有を作成しました。
zfs set share.nfs=on rpool/public
私のLinuxクライアントがインストールしました。
mount solaris2:/var/public /mnt/share
myuserに書き込み権限を与えたいです。 3つの解決策を知っています。
解決策 1: chmod 777
chmod 777 /var/public #NO COMMENT
解決策2:リモートシステムとローカルシステム間のuidを同じにします。
ローカルのSolarisユーザーのuidをリモートLinuxユーザーのuidに変更し、aclを提供します。ユーザーが1人だけで大丈夫ですが、マルチユーザーシステムでは本当に恐ろしいです(すべてのuidを最新のuidより前のuid!)
オプション3:リモートユーザーのuidをローカルユーザーにマップしてからaclを割り当てる
idmap add remoteuser@remotehost unixuser:myuser
chmod A=user:myuser:add_file/read_data/execute/write_data/execute:allow /var/public
しかし、うまくいきません。ローカルユーザーは/var/publicにデータを書き込むことができますが、リモートユーザーはできません。
編集1:私が知っている限り、idmapコマンドはgid / uidをSIDに変換します。これはADまたはLDAPに役立ちます。
編集2:戻るイルモス彼らはいくつかの興味深いオプションuidmapとgidmapを追加しました。唯一の問題があります。 Solaris11 は Illumos の「ディストリビューション」ではなく、これらのオプションは単に存在しません。
答え1
より良い解決策を待っている間は、次の解決策をお勧めします。クライアントとサーバーで同じ gid を使用してグループを作成し、acl を作成します。
クライアント(Linux)
groupadd -g 10093 nfs-users
usermod -aG nfs-users myuser
サーバー上(Solaris)
groupadd -g 10093 nfs-users
usermod -G nfs-users myuser
次に、aclを共有zfsセット(/ var / publicにマウントされている)に追加しました。
chmod A+group:nfs-users:write_data/append_data/execute/add_file/add_subdirectory:allow /var/public
テスト:うまくいきます。 nfs-usersグループに属するすべてのユーザー(リモートとローカル)が共有に書き込むことができます。より良い解決策はAD(またはsamba4)+ idmapを使用することですが、この回避策はローカルファイル環境でもうまく機能します。