NFS 导出为什么会出问题
NFS 的信任模型比较特殊:服务端主要按客户端 IP 与 UID 映射决定访问,客户端可以自行声明 UID。因此导出配置过宽时,远端主机上的用户可能以相同 UID 直接访问文件,绕过本机的账号与权限体系。核查的重点是导出清单、允许的客户端范围、读写权限,以及是否做了用户身份压制。
基本信息
| 核查对象 | 导出路径、允许客户端网段、读写权限、用户映射选项 |
|---|---|
| 常用命令 | showmount -e 列出导出,查看服务端导出配置文件 |
| 关键风险项 | 过宽网段、可写导出、关闭身份压制 |
| 常用加固 | 最小导出范围、只读优先、启用身份压制 |
| 行业实践 | 内部服务优先改用支持认证的共享方式 |
典型使用场景
- 内网服务盘点:确认哪些主机在对外提供共享及其范围
- 权限核对:核对导出目录的业务归属与最小权限要求
- 横向移动评估:共享可写会显著扩大内网可控范围
- 变更前核查:共享调整前确认当前使用方与影响面
- 容灾与备份系统检查:备份目录常被导出且权限宽松
检查命令
检查命令
# 列出目标主机对外导出的共享与允许网段
showmount -e 10.0.0.10
# 服务端侧核对导出配置,重点看权限标记与身份压制选项
cat /etc/exports
# 客户端已挂载情况,确认实际使用范围
mount | grep -i nfs
# 记录导出路径、允许网段与权限标记;不做批量挂载与翻查导出选项读法
| 选项 | 含义 | 风险提示 |
|---|---|---|
| rw 与 ro | 读写与只读 | 可写导出风险显著更高 |
| root_squash | 远端 root 映射为匿名 | 关闭后远端 root 拥有本地 root 权限 |
| all_squash | 所有用户压缩为匿名 | 常配合只读使用,安全性更好 |
| 同步与异步写入 | 写入落盘时机 | 异步在断电时存在数据丢失风险 |
| 认证方式 | 系统标识或 Kerberos | 系统标识方式无法验证真实身份 |
挂载验证需要客户授权与清理安排:通常先以导出配置核查给出结论,不在评估中批量挂载业务共享。
导出网段写得很宽是最常见的配置问题:一个允许整个办公网段的可写导出,等于把文件服务器的权限交给了所有终端。