OpenLDAP、Samba 和密码老化

Hub*_*rio 13 domain ldap authentication samba pam

我正在配置一个系统,其中所有 IT 资源都可以通过单个用户密码对获得,无论是访问服务器上的 shell、登录到 Samba 域、WiFi、OpenVPN、Mantis 等(访问受管理的特定服务)按组成员身份或用户对象字段)。因为我们的网络中有个人数据,所以我们需要根据欧盟数据保护指令(或者更确切地说是波兰语版本)实施密码老化。

问题是 LDAP 中的 Samba 和 POSIX 帐户使用不同的密码散列和老化信息。虽然同步密码本身很容易(ldap password sync = Yesin smb.conf),但将密码老化添加到混合中会破坏事情:Samba 不更新 shadowLastChange。与obey pam restrictions = Yes创建一个系统,其中 Windows 用户不能更改旧密码,但如果我不使用它,则不会自动创建主目录。另一种方法是使用 LDAP 扩展操作来更改密码,但smbk5pwd模块也不对其进行设置。更糟糕的是,OpenLDAP 维护者不会更新它/接受补丁,因为该字段被认为已弃用。

所以,我的问题是,最好的解决方案是什么?它们的优缺点是什么?

  1. 使用 LDAPppolicy和内部 LDAP 密码老化?

    1. 它与 NSS、PAM 模块、samba 和其他系统的配合情况如何?
    2. NSS 和 PAM 模块是否需要以特殊方式配置才能使用 ppolicy 而不是 shadow?
    3. GOsa²是否适用于 ppolicy?
    4. 是否有其他管理工具可以与ppolicy启用的 LDAP 一起使用?
  2. 编写一个更新 LDAP 字段的更改密码脚本。(留下用户自己在不更改密码的情况下更新字段的可能性)

Hub*_*rio 1

(正在进行中,我稍后会添加详细信息)

\n\n

大家好消息!我让整个事情或多或少地在测试环境中工作......:

\n\n
    \n
  1. 密码策略(质量和时间方面)在 OpenLDAP 级别上强制执行(感谢ppolicynot24getpasswdqc
  2. \n
  3. 密码在 Samba 和 POSIX 之间以两种方式同步(感谢smbk5pwd)。注意:Samba 和 ppolicy 的质量检查并不明显:( password check scriptfrom pwqcheck -1)passwdqc需要执行与 LDAP 相同的检查,否则用户将得到“权限被拒绝”而不是“密码太简单,尝试不同的”。
  4. \n
  5. PAM 和 Samba 都会警告用户密码即将过期。
  6. \n
  7. 用户目录使用创建的pam_mkhomedir
  8. \n
  9. RFC2307bis(和相关模式)的 GOsa\xc2\xb2 实现插入uid到组条目中,因此需要 NIS(大多数“UNIXy”内容)或 RFC2307bis 模式(大多数“为 AD 设计”应用程序)的应用程序工作得很好。
  10. \n
\n\n

唯一的问题是禁用帐户需要使用 CLI 工具(或编写 GOsa postmodify 脚本),否则帐户不会被锁定在 LDAP 级别,仅适用于 PAM 和 Samba。密码过期仍然会强制执行,所以这不是一个大问题。

\n