状況: 非ルート ユーザーで Ubuntu Server から Synology NAS にアクセスできるようにしたいだけです。
NAS のエクスポート ファイルに次の内容があります:
/Directory <client-ip>/255.255.255.0(rw,async,no_wdelay,no_root_squash,insecure_locks,sec=sys,anonuid=1003,anongid=1004)
Ubuntu サーバーの fstab には次のように書かれています:
<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
エクスポートの匿名 ID を UserA の ID に設定しようとしましたが、効果はありませんでした。UserA をフォルダーの所有者にしても効果はありませんでした。何か簡単なことを見逃しているのでしょうか?
また、大量のデータを転送するため、NFS 共有にする必要があります。
編集: セキュリティ上の理由から、「その他」に読み取りおよび書き込み権限を与えることは避けたいと思います。
答え1
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
。