k8s文件挂载权限分析

k8s文件挂载权限分析

2023年7月6日发(作者:)

k8s⽂件挂载权限分析本⽂章主要针对以下两种场景进⾏分析本地挂载NFS挂载本地挂载结论:挂载的⽂件的⽤户权限,在容器内部看到的uid、gid及操作权限,与宿主机上看到的⼀致宿主机新建挂载⽬录:宿主机查看权限拉起docker镜像,并把宿主机⽬录挂载到容器中docker run -d --rm --name busybox -v /root/test:/tmp/ busybox sleep infinity查看容器内⽂件⽬录权限⼀定要确保容器执⾏者的权限和挂载数据卷对应,如果挂载了root的⽂件到容器内部,⽽容器内部执⾏uid不是0,则报错没有权限NFS挂载服务端:NFS服务端共享⽂件权限owner的uid及gid容器内:NFS挂载到tmp结论:挂载的⽂件的⽤户权限,在容器内部看到的uid、gid及操作权限,与NFS服务端上看到的⼀致。但是容器中的⽤户⾝份对于NFS服务端来说,需要根据NFS的配置⽂件进⾏判断:root_squash:默认选项,当客户端使⽤的是root⽤户时,则映射到NFS服务器的⽤户为NFS的匿名⽤户(nfsnobody)。no_root_squash:当客户端使⽤的是root⽤户时,则映射到FNS服务器的⽤户依然为root⽤户。all_squash:默认选项,将所有访问NFS服务器的客户端的⽤户都映射为匿名⽤户,不管客户端使⽤的是什么⽤户。no_all_squash:当客户端使⽤的⽤户的uid和gid在服务器端中也存在⼀致uid和gid的⽤户时,则映射到NFS服务器的⽤户为对应⽤户,其他⽤户则映射为匿名⽤户anonuid:设置映射到本地的匿名⽤户的UIDanongid:设置映射到本地的匿名⽤户的GID举例:假设服务器端共享⽂件夹的访问权限服务端NFS配置:1.

no_root_squash,no_all_squash存在以下⼏种情况:客户端当前⽤户为root(uid=0,gid=0),正常读写;客户端当前⽤户为test(uid=1001,gid=1001),映射成服务端的test,正常读写;客户端当前⽤户为user1(uid=1001,gid=1001),映射成服务端的test,正常读写;客户端当前⽤户为rancher(uid=1000,gid=1000),映射成服务端的rancher,只能读不能写;客户端当前⽤户为user2(uid=2000,gid=2000),映射成服务端的nfsnobody,只能读不能写2.

no_root_squash,no_all_squash,anonuid=1001,anongid=1001客户端当前⽤户为root(uid=0,gid=0),正常读写;客户端当前⽤户为test(uid=1001,gid=1001),映射成服务端的test,正常读写;客户端当前⽤户为user1(uid=1001,gid=1001),映射成服务端的test,正常读写;客户端当前⽤户为rancher(uid=1000,gid=1000),映射成服务端的rancher,只能读不能写;客户端当前⽤户为user2(uid=2000,gid=2000),映射成服务端的nfsnobody(uid=1001,gid=1001),正常读写3.

root_squash,all_squash只有1种情况:不管客户端当前⽤户是什么,均映射成服务端的nfsnobody,只能读不能写

发布者:admin,转转请注明出处:http://www.yc00.com/news/1688593661a153180.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信