在 LDAP 用户搜索中包含字段吗?

在 LDAP 用户搜索中包含字段吗?

我正在运行带有 LDAP 提供程序/前哨的 Authentik 实例。为了测试它,我将带有 sssd 的 Ubuntu 服务器绑定到 LDAP 服务器。一切运行良好(...终于)。

但我很好奇我是否可以向 LDAP 搜索参数添加已知字段?例如fullnameAuthentik 提供的字段?

例如:

我可以跑id myusername回来

uid=2001(john.smith) gid=2001(john.smith) groups=2001(john.smith),16434(grp-foo),35262(grp-bar)

我还可以运行id domain.tld\myusername或,它们都返回相同的结果。所有这些都是用户名和/或域的变体。但我也可以搜索电子邮件字段,它可以是任何内容,例如。id [email protected]id [email protected]

我想尝试类似 macOS 的东西,你只需输入你的全名,它仍然会映射到一个有效的帐户。例如:id "John Smith"。但这样做会产生:

id: ‘John: no such user
id: ‘Smith’: no such user

sssh.conf手册页中,我找到了一个设置re_expression,它允许您添加或更改正则表达式匹配,将上述所有可能性转换为有效的用户和/或域组合。默认情况下,它设置为:

(((?P<domain>[^\\]+)\\(?P<name>.+$))|((?P<name>[^@]+)@(?P<domain>.+$))|(^(?P<name>[^@\\]+)$))

此正则表达式处理domain\namename@domainname。 明显缺少电子邮件字段。

如果sssh可以搜索电子邮件字段,那么它就可以搜索任何字段,对吗?如果是这样,如何在 Ubuntu 中向 sssh 添加搜索字段?

我最初尝试构建一个正则表达式,将名称转换John Smith为用户名john.smith,但假设用户名和全名始终是一对一的。因此,完成此任务(尽管不必要)的唯一真正选择是添加 LDAP 搜索字段。

相关内容