web-dev-qa-db-ja.com

NFS共有のユーザー権限を取得する方法は?

状況:私は単に、非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共有である必要があります。

編集:セキュリティ上の理由から、「その他」に読み取りおよび書き込み権限を付与することは避けたいと思います。

6
AyvenRedwing

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グループに追加します。

5
muru