通过LDAP获取sudoers(SUSE Linux Enterprise Server 12)

我在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配置文件中有什么可做的吗?我还没有看到有人解决它.

解决方法:

This walkthrough在Ubuntu 14.04上为我工作.此外,注释中引用的Redhat page似乎不再引用authconfig.亮点是:

>如果您的LDAP不包含,请导入sudoers方案(例如,Active Directory需要schema.ActiveDirectory)
>在sudoers-ldap manpage之后创建规则(在Active Directory中,使用ADSI Edit之类的工具)
>更新etc / nsswitch.conf以在sudoers =中包含sss
>更新etc / sssd / sssd.conf以包含:

>服务中的sudo =
>一个sudo_provider =行(在我的案例中是针对Active Directory的广告,但可能是ldap)
>一个空的[sudo]部分​​(不需要配置,但Redhat断言这会触发sudo支持的正确配置)

由于堆栈各个部分的错误,很多人遇到了问题,如果您有任何问题,请参阅this answerthis question. FWIW these instructions给我足够的调试信息,以确认规则一直流向sudo,具体来说:

>将以下行添加到/etc/sudo.conf:

Debug sudo /var/log/sudo_debug.log all@debug
Debug sudoers.so /var/log/sudo_debug.log all@debug

>以要调试的用户身份运行sudo命令

上一篇:Spring LDAP示例需要持久性吗?


下一篇:java – LDAP绑定VS搜索