是否可以在身份验证阶段pam_ldap
将用户记录的任意 LDAP 属性映射到生成的用户环境中?
如果您看到解决问题的另一种方法,我的具体情况是我编写了一个自定义 SFTP 子系统,它将 SFTP 命令映射到 Ceph/Rados 池。我希望这个子系统使用与经过身份验证的用户关联的密钥连接到 Ceph 集群(用于控制池访问等)
我已经通过 LDAP 对用户进行了 SSH/SFTP 连接的身份验证,并且相信我可以将对他们的 Ceph 密钥属性的读取访问权限锁定到只有 root 和 self。如果可能,我不想使用共享的 LDAP 绑定帐户进行另一个 LDAP 查找。
更新:
虽然我还没有找到一种方法来完全满足我在这里的要求,但我确实有一些“工作”,它使用pam_exec.so
会话模块(作为 root)来拉取 ldap 属性并将其写入/run/users/<UID>/<filename>.<SESSION_ID>
(by chmod 400
, chown <UID>:root
)。然后自定义子系统(作为经过身份验证的用户)读取并删除此文件。
尽管这有效,但这是否会引起相当大的安全问题?