Ubuntu 22.04下NFS挂载目录权限异常无法修改属主求助
Ubuntu 22.04下NFS挂载目录权限异常无法修改属主求助
大家好,我在Ubuntu 22.04.2 LTS上挂载NFS目录时遇到了权限问题,折腾了好一阵都没解决,想请大家帮忙看看哪里出错了。
问题详情
我在/etc/fstab里配置了两条NFS挂载项:
192.168.1.74:/volume1/Barry/Plex/tv2 /mnt/plex/media/tv2 nfs nofail,defaults,rw,user, 0 0 192.168.1.74:/volume2/Barry2/Plex/tv /mnt/plex/media/tv2 nfs nofail,defaults,rw,user, 0 0
挂载完成后,我查看目录权限,发现tv2的属主是root,而且就算用sudo也没法修改它的属主:
dandy@thehost:/mnt/plex/media$ ls -l drwxrwxrwx 74 1024 users 36864 Jul 8 18:49 tv drwxrwxrwx 13 root root 36864 Jul 2 16:38 tv2 dandy@thehost:/mnt/plex/media$ sudo chown dandy:dandy tv2 chown: changing ownership of 'tv2': Operation not permitted
后续尝试的弯路
我听说NFS3的配置可能影响权限,想着是不是要加UID相关参数,但搞错了配置的位置——把服务端/etc/exports的格式用到了客户端挂载命令里,结果直接报错:
sudo mount 192.168.1.74:/volume1/Barry/Plex/tv /home/dandy/mnt/media/tv *(rw,no_subtree_check,all_squash,anonid=0,anaongid=0) # 报错:mount: bad usage
最终解决
还好有Marco的指点,问题已经顺利解决了!
补充关键解决思路(给遇到同类问题的朋友参考)
其实NFS的目录权限核心是服务端的/etc/exports配置在控制,客户端挂载参数只能做辅助调整:
- 如果能修改服务端配置,建议在对应共享目录的配置里添加用户映射,比如把客户端用户映射到服务端对应UID/GID的用户:
这里的/volume1/Barry/Plex/tv2 192.168.1.0/24(rw,no_subtree_check,all_squash,anonid=1000,anongid=1000)1000替换成你本地用户的UID和GID,IP段改成你的客户端所在网段,配置后重启服务端NFS服务即可。 - 如果没法改服务端,也可以在客户端挂载参数里直接指定属主,修改
/etc/fstab的挂载项:
执行192.168.1.74:/volume1/Barry/Plex/tv2 /mnt/plex/media/tv2 nfs nofail,defaults,rw,user,uid=1000,gid=1000 0 0sudo mount -a重新挂载后,目录属主就会匹配你的本地用户,也能正常编辑内容了。
备注:内容来源于stack exchange,提问作者Dan Daley
相关产品推荐
相关产品推荐

