在很长时间的尝试后(本人实在是菜鸟一名),我基本实现了用 Windows 的 AD 通过 ldap 管理 linux(Debian sarge) 主机的用户信息。现在 linux 上可以使用 AD 中的用户进行登录了,但是还有一些问题没有弄懂,例如 uid number 的限制问题,望高手赐教:
发现如果在 AD (即 ldap 服务器)中将用户的 uid num 设为 0,该用户登录 linux 后就会授权为 root;而且在 ldap 服务器中 gid num 都可以设,这样连登录后的 group 授权也可以控制。我觉得这是个挺大的安全问题,就一直在想办法解决。
后来发现在 libnss-ldap.conf 中有设置项 pam_min_uid 和 pam_max_uid,看说明应该就是限制 uid num 的范围的。但在实验时却发现是 pam_min_uid 的设定不起作用; pam_max_uid 无论设多大的值(例如 pam_max_uid 设为 99999, 用户 uid number 是 10001), 在登录的时候都会提示 "UID must be less than 99999". 好像系统不能正常读取用户的 uid number , 认为 uid number 都是一个非常大的数, 导致了设 pam_min_uid 没有效果, 设 pam_max_uid 怎样也通不过. 我在系统里用命令 getent passwd 和 id 是都可以看到用户正确的 uid number.
百思不得其解之际,特来请教各位大侠,望能赐教,多谢多谢!