You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Fedora 32安装NFS后出现chown: invalid user: ‘nfsnobody’错误求助

解决Fedora 32 NFS用户错误与普通用户免sudo挂载问题

嘿,我来帮你一步步搞定这两个问题——先解决nfsnobody用户不存在的错误,再配置普通用户无需sudo就能挂载NFS目录。

一、修复chown: invalid user: ‘nfsnobody’错误

首先得明确:Fedora 32的nfs-utils包默认不会自动创建nfsnobody用户。这和CentOS/RHEL这类发行版不一样,Fedora默认用系统自带的nobody用户来处理NFS的匿名访问,所以你有两个可选方案:

选项1:手动创建nfsnobody用户和组

如果坚持要用nfsnobody,执行这两条命令就能创建系统级的用户和组(这类用户不会用于交互式登录,完全符合NFS的使用场景):

sudo groupadd -r nfsnobody
sudo useradd -r -g nfsnobody -s /sbin/nologin nfsnobody

创建完成后,再重新执行你的目录权限修改命令:

sudo chown -R nfsnobody:nfsnobody /home/dolphin/data/k8s/monitoring/infrastructure/jenkins

选项2:直接用系统默认的nobody用户(更省心)

不想手动创建用户的话,直接用Fedora默认的nobody就行。先修改目录权限:

sudo chown -R nobody:nobody /home/dolphin/data/k8s/monitoring/infrastructure/jenkins

然后调整/etc/exports的配置,明确指定匿名用户映射到nobodynobody的UID/GID默认是65534,你可以用id nobody命令确认):

/home/dolphin/data/k8s/monitoring/infrastructure/jenkins *(rw,no_root_squash,all_squash,anonuid=65534,anongid=65534)

修改完exports后,重启NFS服务并重新导出配置:

sudo systemctl restart nfs-server.service
sudo exportfs -r

二、配置普通用户无需sudo即可挂载

要让任意普通用户免sudo挂载这个NFS共享,最安全灵活的方式是修改/etc/fstab,具体步骤如下:

1. 添加fstab条目

编辑/etc/fstab文件,加入这一行:

192.168.31.2:/home/dolphin/data/k8s/monitoring/infrastructure/jenkins /mnt nfs defaults,_netdev,user 0 0

这里的关键参数是user——它允许普通用户挂载该文件系统;_netdev是告诉系统这是网络设备,要等网络就绪再尝试挂载,避免开机挂载失败。

2. 测试普通用户挂载

现在切换到普通用户,直接执行挂载命令就行:

mount /mnt

卸载的话,普通用户也能直接执行:

umount /mnt

替代方案:用sudoers配置(不推荐,除非必须)

如果你不想改fstab,也可以创建一个sudo规则让普通用户免密码执行挂载/卸载命令。先创建sudoers规则文件:

sudo visudo -f /etc/sudoers.d/nfs-mount

然后添加以下内容:

ALL ALL=(ALL) NOPASSWD: /usr/bin/mount -t nfs -o v3 192.168.31.2:/home/dolphin/data/k8s/monitoring/infrastructure/jenkins /mnt, /usr/bin/umount /mnt

保存后,普通用户就能用sudo mount ...sudo umount ...而不用输密码。不过这个方案不如fstab灵活,优先推荐fstab的方式。

最后回答你的疑问:nfs-utils会自动创建nfsnobody吗?

在CentOS/RHEL这类发行版中,nfs-utils确实会自动创建nfsnobody用户,但Fedora 32的默认配置里不会——Fedora倾向于用系统通用的nobody来处理匿名NFS访问,减少多余的系统用户。所以你要么手动创建nfsnobody,要么改用nobody用户。

内容的提问来源于stack exchange,提问作者Dolphin

火山引擎 最新活动