试图使用windows AD帐户登录到Linux系统。成功地使用SSSD配置。
使用LDAP作为标识&访问提供程序,使用Kerberos作为身份验证提供程序。
在没有将linux系统加入域的情况下,我已经完成了所有这些工作。
现在,我正在尝试将LDAP配置为sudo提供程序。但它并没有成功。我无法提高对广告用户的sudo权限。我甚至尝试过使用sudoers文件,在那里我可以提高特定用户的权限,但不能提高到广告组的权限。
以下是SSSD配置w.r.tsudo配置
**sudo_provider = ldap
ldap_sudo_search_base = ou=groups,dc=ad,dc=example,dc=com
ldap_sudorule_object_class = sudoRole
ldap_sudorule_object_class = top
ldap_sudorule_command = ALL
ldap_sudorule_host = ALL
ldap_sudorule_user = %domain_group
ldap_sudorule_runasuser = ALL
ldap_sudorule_runas = ALL
ldap_sudorule_runasgroup = ALL
ldap_sudorule_option = !authenticate**我尝试在调试级别7启用日志记录,其中提到无法加载本地规则。
你好,乌迪。
发布于 2018-12-24 15:28:40
我认为您误解了配置文件开关的用途-它们用于映射被查询对象的LDAP值。指令默认为辅助对象类指定的值(模式位于/usr/share/doc/sudo-*/schema.ActiveDirectory中,位于CentOS上)。
您应该在AD中导入此模式,使用该对象类创建表示sudo角色的对象,并让SSSD查询它们。
下面是一个详尽的例子:
下面是从LDAP查询用户、组和sudo角色的SSSD配置示例。用适合您的环境的值替换<>封闭部件:
[domain/default]
id_provider = ldap
auth_provider = ldap
access_provider = ldap
chpass_provider = ldap
sudo_provider = ldap
ldap_uri = ldaps://<ldap-server-address>:636
ldap_tls_cacert = /etc/pki/tls/certs/ca-bundle.crt
ldap_tls_reqcert = demand
ldap_default_bind_dn = <proxy-user-dn>
ldap_default_authtok_type = obfuscated_password
ldap_default_authtok = <obfuscated password>
ldap_search_base = <search base for users>
ldap_schema = rfc2307bis
ldap_group_search_base = <search base for groups>
ldap_sudo_search_base = <search base for sudo rules>
cache_credentials = false
enumerate = false
[sssd]
services = nss, pam, ssh, sudo
config_file_version = 2
domains = default
[nss]
[pam]
[sudo]
[autofs]
[ssh]在LDAP目录中,在ldap_sudo_search_base下面创建一个对象,如下所示:
objectClass: Top
objectClass: sudoRole
sudoRunAsUser: ALL
sudoHost: yourhost.example.com
sudoUser: %wheel
sudoCommand: ALL
description: Allows members of wheel to become root
cn: wheel_group_sudo_role这允许组轮的所有成员成为主机yourhost.example.com上的根。
在目标主机上以根用户身份运行sudo -U testuser -ll应该会产生以下结果:
LDAP Role: wheel_group_sudo_role
RunAsUsers: ALL
RunAsGroups: ALL
Commands:
ALL编辑:
正如您已经发现的,正如SSSD向Linux框提供用户一样,您可以将他们视为常规Linux用户,从而创建本地sudo规则:
/etc/sudoers.d/00-local-admin-rule
%ad-admin-group ALL: (ALL) ALL这允许ad-admin-group的成员调用sudo成为根。
当谈到*_search_base时,某些形式的LDAP容器对象的DN是指,例如ou=users、o=corg、dc=example、dc=org之类的组织单元,或者您的目录特性的任何层次结构。在指定容器下面创建所需类型的对象。
https://serverfault.com/questions/946500
复制相似问题