我在 SUSE Linux Enterprise Server 12 上的 LDAP 配置有问题。
正如许多人所知,ldap.conf 文件已被 sssd.conf 和其他几个conf 文件(例如 nsswitch.conf)替换。
我想通过 LDAP 进行身份验证,从特定的 OU 中选择用户。我还需要通过 LDAP 获取 sudoers 的定义。我以前从未使用过 sssd 。
我当前的 NSS 配置如下:
passwd: files ldap
shadow: files ldap
group: files ldap
hosts: files dns
networks: files
services: files
protocols: files
rpc: files
ethers: files
netmasks: files
netgroup: files nis
publickey: files
bootparams: files
automount: files nis
aliases: files
passwd_compat: files
group_compat: files
sudoers: ldap files [I added this line]
这是我的 sssd.conf:
[sssd]
config_file_version = 2
services = nss, pam
domains = *****
sbus_timeout = 30
[nss]
filter_users = root
filter_groups = root
reconnection_retries = 3
entry_cache_timeout = 300
entry_cache_nowait_percentage = 75
[pam]
[domain/GuH]
id_provider = ldap
auth_provider = ldap
ldap_schema = rfc2307bis
ldap_user_object_class = posixAccount
debug_level = 20
#access_provider = ldap
ldap_uri = ldap://******.de
ldap_search_base = o=***
create_homedir = truei
ldap_tls_cacert = /etc/sssd/certs/*******.pem
ldap_tls_cacertdir = /etc/sssd/certs
ldap_id_use_start_tls = true
ldap_default_bind_dn = cn=********,o=guh
ldap_default_authtok_type = *******
ldap_default_authtok = *********
ldap_user_member_of = *********
ldap_group_name = cn=*******,ou=*******,ou=******,o=******
假设 * 输入正确。
另外,PAM 配置文件中有什么要做的吗?我还没有看到有人解决这个问题。
答案1
本演练在 Ubuntu 14.04 上为我工作。另外,红帽页面评论中引用的内容似乎不再引用authconfig
。亮点是:
- 如果您的 LDAP 不包含,请导入 sudoers 方案(例如,
schema.ActiveDirectory
Active Directory 需要) - 按照以下规则创建规则sudoers-ldap 联机帮助页(在 Active Directory 中,使用 ADSI Edit 等工具)
- 更新
etc/nsswitch.conf
以包括sss
其中sudoers =
- 更新
etc/sssd/sssd.conf
包括:sudo
之间services =
- 一行
sudo_provider =
(在我的例子中ad
是 Active Directory,但可能是ldap
) - 一个空
[sudo]
部分(不需要配置,但 Redhat 断言这会触发 sudo 支持的正确配置)
由于堆栈各个部分的错误,很多人都遇到了问题,因此请参阅这个答案和这个问题如果您有任何问题。 FWIW这些说明为我提供了足够的调试信息来确认规则一直流向 sudo,具体来说:
将以下行添加到 /etc/sudo.conf 中:
Debug sudo /var/log/sudo_debug.log all@debug Debug sudoers.so /var/log/sudo_debug.log all@debug
以要调试的用户身份运行 sudo 命令