nfs 客户端和服务器端有相同的用户(UID 不同),属主出现变化的解决办法
场景:项目上线,因项目需求做了NFS文件共享,赋予共享目录为匿名用户权限,上线后,发现客户端无法正常写入文件,提示没权限,经排除发现共享文件权限发生了变动,发现用户uid不一致,才导致无法正常写入。
解决方法
1.修改客户端uid和gid,保持与服务端一致
# 服务端的用户id
# id tomcat
uid=1002(tomcat) gid=1002(tomcat) groups=1002(tomcat)# 客户端的用户id
# id tomcat
uid=1001(tomcat) gid=1001(tomcat) groups=1001(tomcat)# 修改客户端用户的uid和gid
# groupmod -g 1002 tomcat
# usermod -u 1002 -g 1002 tomcat
2.重新变更共享目录的属主和属组
chown -R tomcat. /data/
变更后再进行写入操作,可以正常写入。
注:创建用户时,最好手动指定下uid与gid,可以避免以上情况出现
参考:文章