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

通过 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 配置文件中有什么要做的吗?我还没有看到有人解决这个问题。

答案1

本演练在 Ubuntu 14.04 上为我工作。另外,红帽页面评论中引用的内容似乎不再引用authconfig。亮点是:

  • 如果您的 LDAP 不包含,请导入 sudoers 方案(例如,schema.ActiveDirectoryActive 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 命令

相关内容