這次遇到的現象是用 root 可以 cd 進去,但其他使用者想要 cd 進去的話會失敗。
網路上也有人遇到類似的問題 ( ref https://forums.centos.org/viewtopic.php?t=77165 )
Server 端 : Synology DSM
Client 端 : Arch Linux
由於不想 ssh 進去 Synology DSM 魔改,看看在 Client 端這邊能不能作點什麼。
說是這麼說,但還是先 ssh 進去看一下各項資訊,才比較好在 Client 端下手。
在 Server 端首先看的是檔案與資料夾的擁有者資訊
group name: users
gid: 100
這裡有幾個需要注意的地方
- Client 端並沒有 gid 100 這個群組
- Client 端的 users 群組的 gid 是 984 ( 而不是 100 )
- Arch Linux 已經不再使用 users 這個群組
一個簡單的作法是讓 Client 端的使用者擁有 gid 100 的存取權,比如:
sudo groupadd dsm-users -g 100sudo gpasswd -a your_client_username dsm-users
( ref https://wiki.archlinux.org/title/users_and_groups#Group_management )
這樣就能順利 cd 進去了。
後來發現這次的問題是我沒有把文件看仔細就在使用 NFS 了。Arch Wiki 的 NFS 頁面開頭的 Note 一開始就寫著:
NFS expects the user and/or user group IDs are the same on both the client and server. Enable NFSv4 idmapping or overrule the UID/GID manually by using anonuid/anongid together with all_squash in /etc/exports.
( ref https://wiki.archlinux.org/title/NFS )
短短兩句話說了三種處理 NFS 權限的方法:
- NFS expects the user and/or user group IDs are the same on both the client and server
- Enable NFSv4 idmapping
- overrule the UID/GID manually by using anonuid/anongid together with all_squash in /etc/exports
DSM 的 NFS 頁面的注意事項也有提到 NFSv4 idmapping:
使用 NFSv4 掛載共用資料夾時,請注意下列資訊,否則與使用者名稱相關的檔案操作會失敗。- NFS 用戶端必須啟用 idmapd。- 在 NFS 用戶端上,idmapd.conf 檔的 NFSv4 網域設定必須與 Synology NAS 上的 NFSv4 網域欄位設定一致。
( ref https://kb.synology.com/zh-tw/DSM/help/DSM/AdminCenter/file_winmacnfs_nfs )
其他參考資料
沒有留言:
張貼留言