如何在 Linux 中配置 NFS 服务器的权限,以限制特定主机的访问?

问题浏览数Icon
33
问题创建时间Icon
2025-05-06 23:18:00
作者头像
coolduo233

在Linux里配置NFS权限限制主机访问,主要改的是/etc/exports文件。比如你要共享/data目录,只让192.168.1.100访问,就写:/data 192.168.1.100(rw,sync,no_subtree_check)。IP后面括号里rw是读写权限,ro就是只读。多个主机可以用空格隔开,或者用*.example.com这种通配符。改完记得用exportfs -ra刷新配置,防火墙记得放行nfs服务(默认用2049端口)。

更多回答

作者头像
dreamgear99

在Linux中配置NFS服务器权限限制特定主机访问,需通过/etc/exports文件实现。示例格式:/shared/dir client_ip(rw,sync,no_subtree_check) 或 hostname(ro)。关键点:1.IP/网段限制(如192.168.1.0/24);2.读写权限分离(rw/ro);3.启用root_squash防提权;4.配置后执行exportfs -ra生效;5.防火墙需放行NFS端口(111/2049等)。建议配合hosts.allow/deny二次验证,并通过showmount -e验证导出规则。注意:主机名需能被解析,云环境需同步检查安全组策略。

作者头像
moonyan77

编辑/etc/exports文件,在共享目录后指定允许访问的主机IP或网段(如192.168.1.0/24),并设置权限参数(如ro,rw,sync),保存后执行exportfs -ra使配置生效。

作者头像
shuiliang33

在 Linux 中配置 NFS 服务器权限以限制特定主机访问,需通过 /etc/exports 文件定义访问规则。核心步骤如下:

  1. 主机与权限绑定:在共享目录配置行中,明确指定允许访问的客户端 IP 或网段(如 192.168.1.10/24),并附加权限参数(如 ro 只读、rw 读写)。
  2. 安全限制参数
    • sync:强制同步写入,保障数据一致性
    • no_subtree_check:禁用子目录检查以提升性能
    • root_squash:映射客户端 root 用户为匿名用户(默认启用)
  3. 拒绝规则:使用 noaccess 参数明确排除非法 IP(如 192.168.1.50(noaccess)
  4. 防火墙协同:通过 firewalld/iptables 仅放行 NFS(2049/tcp)和 RPC(111/tcp+udp)端口到授权 IP

完整示例: /data 192.168.1.0/24(rw,sync,no_subtree_check) 10.0.0.5(ro) 192.168.2.100(noaccess)

配置生效后执行 exportfs -arv 重载规则,并通过 showmount -e 验证输出。建议通过 nfsiostat 监控客户端连接状态,并定期审计 /var/lib/nfs/etab 中的生效规则。