單人用的NFS idmapping


Introduction

NFS雖然是很方便的掛載方法,但不像samba或sshfs一樣可以做身份認證
本機的UID是什麼寫入到NFS server的UID就是什麼

e.g. 本機的UID是1001, username是hunglin
但NFS server的hunglin的UID是1000
但寫入到遠端的檔案會顯示1001而不是hunglin

本機

drwxr-sr-x  7 hunglin hunglin   10M Mar  1  2022 file.txt

NFS server

drwxr-sr-x  7 1001 1001   10M Mar  1  2022 file.txt

如果NFS server和本機都只有自己使用的話有個方法可以間接的mapping id

指定匿名ID

NFS server端可以在/etc/export設定anonymous的uid和gid

all_squash,anonuid=1001,anongid=1001

https://linux.die.net/man/5/exports

all_squash是指將寫入的檔案的user和group都壓縮成anonymous的uid和gid
只要將anonuid和anongid設定成server端user的uid和gid就可以做到idmapping

重啟nfs server

sudo /etc/init.d/nfs-kernel-server restart
sudo start idmapd

如此就可以達到idmapping的目的
但這方法只是解決了短期的問題
身為server面向的應該是多個使用者,查了很久方法大概是要以NFSv4搭配kerberos

kerberos又是啥? 看起來是個驗證機制
但設定看起來超複雜的= =
哪天真的有心情才會想弄吧…

利用kerberos 提供票據加密 - 鳥哥的Linux 私房菜


Author: Hung-Lin, Chen
Reprint policy: All articles in this blog are used except for special statements CC BY 4.0 reprint policy. If reproduced, please indicate source Hung-Lin, Chen !
 Previous
Backup mysql from docker container Backup mysql from docker container
Introduction為了讓想要保存下來的資料可以不會因為容器停止就蒸發掉都會使用資料卷掛載到本地檔案系統像Mysql的資料存放位置在/var/lib/mysql如果需要移植到其他主機時是不能夠直接cp -r的mysql儲存的資料是會辨認
2022-10-09
Next 
How to use ncat or socat to map the remote port to local server How to use ncat or socat to map the remote port to local server
Introductionncat和socat都是linux的網路工具這次主題要達成的目標用這兩個都能達成 他們可以做到: 只要是能夠訪問到的port都可以把它映射到本機的port上 寫這篇也是要介紹之前寫reverse proxy的
2022-10-02
  TOC