如何取得nfs共享的使用者權限?

如何取得nfs共享的使用者權限?

情況:我只是希望能夠使用非 root 用戶從 Ubuntu 伺服器存取 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

我嘗試將導出中的 anon-ids 設為 UserA 的 id,但這沒有幫助。讓 UserA 成為該資料夾的擁有者也沒有幫助。我缺少一件簡單的事嗎?

另外:這需要是一個 nfs 共享,因為它將傳輸大量資料。

編輯:出於安全原因,我寧願避免向「其他人」授予讀寫權限。

答案1

設為useraUserA ( ) 的主要組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群組。

相關內容