在身份验证阶段,是否可以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
)。然后,自定义子系统(作为经过身份验证的用户)读取并删除此文件。
虽然此举可行,但这是否会引起相当大的安全隐患?