LDAP 提供身份,不提供权限
把文件服务器接到 LDAP 目录后,账号与组信息由目录统一提供,本地不再维护一份用户清单;但文件系统上的权限仍按 UID/GID 判定,目录里的访问控制条目不会自动变成目录权限。因此集成完成后的工作重点是:目录条目要带名称服务所需的属性、解析组关系、并把组映射到实际的目录授权。
基本信息
| 适用平台 | Linux 文件服务器(Samba/NFS)与支持 LDAP 的 NAS |
|---|---|
| 名称服务组件 | SSSD 或 nslcd |
| 条目属性 | 账号与组需要具备名称服务所需的编号属性 |
| 连接安全 | 使用 TLS 加密,避免明文传输凭据 |
| 高可用 | 多个目录服务地址、合理的超时与缓存 |
集成的几个环节
| 环节 | 要做的事 | 常见问题 |
|---|---|---|
| 名称解析 | 配置解析来源与顺序 | 目录不可达时本地账号也受影响 |
| 组解析 | 能让系统识别组成员关系 | 嵌套组不生效导致授权缺失 |
| 连接加密 | 启用 TLS 并校验证书 | 证书过期后集中出现登录失败 |
| 缓存 | 设置合理的缓存与离线容忍 | 缓存过久导致权限回收不及时 |
| 授权 | 把目录组映射到目录权限 | 以为加了组就等于有权限 |
最小验证流程
最小验证流程
# 直接查询目录,确认条目与属性是否存在
ldapsearch -x -H ldaps://ldap.example.com -b 'ou=people,dc=example,dc=com' '(uid=svc)' uid uidNumber gidNumber
# 通过名称服务解析,确认系统能识别该账号
getent passwd svc
id svc # 查看其组归属是否符合预期
# 用该账号实测共享目录访问
sudo -u svc ls -l /srv/data | head -n 5目录条目缺少名称服务所需的编号属性时,查询能查到条目、系统却解析不到账号。这类问题在集成阶段经常被误认为服务配置错误,实际要先确认条目本身是否完整。
名称解析来源的顺序决定了同名账号谁生效。把目录解析放在本地文件之前,会让系统上的本地同名账号被覆盖,可能直接影响服务账号、定时任务与已配置好的权限归属;调整顺序前必须先确认不存在同名冲突。