情況:我只是希望能夠使用非 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
設為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
群組。