成功进行 PAM 身份验证后,将任意属性从 LDAP 写入 ENV

成功进行 PAM 身份验证后,将任意属性从 LDAP 写入 ENV

在身份验证阶段,是否可以pam_ldap将用户记录的任意 LDAP 属性映射到结果用户的环境中?

如果您看到解决问题的另一种方法,我的情况的具体细节是,我编写了一个自定义 SFTP 子系统,它将 SFTP 命令映射到 Ceph/Rados 池。我希望此子系统使用与经过身份验证的用户关联的密钥连接到 Ceph 集群(用于控制池访问等)

我已经通过 LDAP 对 SSH/SFTP 连接的用户进行身份验证,并且相信我可以将对其 Ceph 密钥属性的读取权限锁定为仅限 root 和自己。如果可能的话,我宁愿不使用共享 LDAP 绑定帐户进行另一次 LDAP 查找。


更新:

虽然我还没有找到一种方法来完全按照我在这里的要求去做,但我确实有一些“工作”的东西,它使用pam_exec.so会话模块(以 root 身份)来提取 ldap 属性并将其写入/run/users/<UID>/<filename>.<SESSION_ID>(通过chmod 400, chown <UID>:root)。然后,自定义子系统(作为经过身份验证的用户)读取并删除此文件。

虽然此举可行,但这是否会引起相当大的安全隐患?

相关内容