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

如何让普通用户在macOS Ventura上挂载NFS共享

如何让普通用户在macOS Ventura上挂载NFS共享

我完全懂你现在的困扰——用root账号能正常挂载NFS共享,但普通用户就不行,试了Linux那套user选项还直接报错。别着急,macOS的NFS工具和Linux确实有差异,咱们换个适配macOS的方法就能解决。

首先得说清楚:macOS的mount_nfs不支持Linux里的单数user选项,这就是你看到mount_nfs: warning: option "user" not known错误的原因,得用macOS特有的配置方式。

下面给你两种可行的解决方案,按需选就行:

方法一:修改/etc/fstab,用macOS支持的users选项

直接把你之前的/etc/fstab条目里的user改成复数users,这是macOS认可的允许普通用户挂载的选项。修改后的条目如下:

192.168.2.12:/home/regularuser/NAS /Volumes/NAS  nfs  resvport,rw,nolock,noauto,users 0 0

保存文件后,普通用户直接在终端执行mount /Volumes/NAS(或者mount NAS,如果系统能识别这个别名)就能完成挂载了。

方法二:用脚本配合sudoers免密挂载

如果方法一不生效,或者你想更灵活控制挂载行为,可以试试这个方案:

  1. 先创建一个挂载脚本,比如放在用户目录下的mount_nas.sh,内容写:
#!/bin/bash
mount -t nfs -o resvport,rw,nolock 192.168.2.12:/home/regularuser/NAS /Volumes/NAS
  1. 给脚本添加执行权限:
chmod +x ~/mount_nas.sh
  1. 编辑sudoers文件(必须用visudo命令编辑,防止语法错误导致sudo失效),添加一行规则,允许你的普通用户无需输入密码执行这条挂载命令:
regularuser ALL=(ALL) NOPASSWD: /sbin/mount -t nfs -o resvport,rw,nolock 192.168.2.12:/home/regularuser/NAS /Volumes/NAS

之后普通用户直接运行sudo ~/mount_nas.sh就能挂载NFS共享了,全程不用输密码。

额外注意事项

  • 一定要确保NFS服务器端的/etc/exports配置正确,比如要允许你的macOS客户端所在的IP段访问,并且设置和普通用户匹配的UID/GID,示例配置如下:
/home/regularuser/NAS 192.168.2.0/24(rw,sync,no_subtree_check,all_squash,anonuid=1000,anongid=1000)

这里的anonuidanongid要对应你macOS普通用户的UID和GID,用id regularuser命令就能查到。

  • 要是挂载时遇到权限问题,记得去macOS Ventura的「系统设置」→「隐私与安全性」里,给终端工具对应的权限授权。

备注:内容来源于stack exchange,提问作者teusbenschop

火山引擎 最新活动