状況:私は単に、非rootユーザーでUbuntuサーバーからSynology NASにアクセスできるようにしたいだけです。
NASで、exports-fileにこれがあります:
/Directory <client-ip>/255.255.255.0(rw,async,no_wdelay,no_root_squash,insecure_locks,sec=sys,anonuid=1003,anongid=1004)
FstabのUbuntu-Serverで、私はこれを手に入れました:
<server-ip>:/Directory /Mountpoint nfs noauto,user,rw 0 0
次に、共有をマウントしてそれに書き込む自動プロセスに使用されるUserAを許可します。
mount /Mountpoint
UserAとしてのマウントは正常に機能しますが、ディレクトリ内の内容を読み取る権限さえありません。ユーザーrootとして。マウントポイントフォルダーを一覧表示すると、次のアクセス許可が表示されます。
drwxrwx--- 4 UserA root 4096 Sep 17 13:58 Mountpoint
エクスポートのanon-idをUserAのidに設定しようとしましたが、それは役に立ちませんでした。 UserAをフォルダの所有者にすることも助けにはなりませんでした。私が見逃している簡単なことはありますか?
また、大量のデータを転送するため、nfs共有である必要があります。
編集:セキュリティ上の理由から、「その他」に読み取りおよび書き込み権限を付与することは避けたいと思います。
usera
をUserAのプライマリグループ(groups usera
)とします。 GIDは、クライアントシステムでid -g usera
を使用して確認できます。たとえば、1256
です。ユーザーをusera
グループに追加します。
Sudo adduser ayven usera
次に、サーバー上で次の操作を行います。
chown :1256 /Directory # Replace 1256 with the correct GID
chmod g+rwxs /Directory
クライアントに再マウントします。
Sudo umount /Directory
Sudo mount /Directory
(新しいグループを有効にするには、再ログインが必要になる場合があります。)
これで、あなたとusera
の両方がNFS共有に完全にアクセスできます。 setgid
ビットを使用したため、有効にする必要があるかもしれませんが、覚えていません。このディレクトリへのアクセスを許可するユーザーをusera
グループに追加します。