首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Nsswitch sudoers sss对ldap我缺少什么?

Nsswitch sudoers sss对ldap我缺少什么?
EN

Server Fault用户
提问于 2023-03-20 15:07:38
回答 1查看 142关注 0票数 0

我试图将nsswitch配置为使用sudoers: files sss,这对于rhel9系统来说是默认的,但是这对我不起作用,但是下面的sudoers: files ldap确实有效。

我少了什么让SSSD工作?

我可以使用我的帐户成功地登录到实例中,但是我甚至不允许使用sudo sudoCommand: ALL

代码语言:javascript
复制
$ ldapsearch -H ldap://ipa.example.com -b ou=sudoers,dc=example,dc=com -ZZ '(&(objectClass=sudoRole))' -x
# allow_all, sudoers, EXAMPLE.COM
dn: cn=allow_all,ou=sudoers,dc=EXAMPLE,dc=COM
objectClass: sudoRole
objectClass: top
sudoUser: %host-admin
sudoHost: ALL
sudoCommand: ALL
sudoRunAsUser: ALL
sudoRunAsGroup: ALL
cn: allow_all


$ id admin
uid=6666(admin),1234(host-admins)

sssd.conf

代码语言:javascript
复制
[domain/default]
id_provider = ldap
auth_provider = ldap
sudo_provider = ldap
chpass_provider = ldap
ldap_uri = ldaps://ipa.example.com
ldap_search_base = dc=example,dc=com
ldap_id_use_start_tls = True
ldap_schema = rfc2307bis
ldap_sudo_include_regexp = true
cache_credentials = True
ldap_tls_cacertdir = /etc/openldap/certs
ldap_tls_reqcert = allow

[sssd]
services = nss, pam, sudo
domains = default

[nss]
homedir_substring = /home

[pam]

[sudo]
debug_level = 7

nsswitch.conf

代码语言:javascript
复制
sudoers: files sss <--- Does not work

sudoers: files ldap <--- Does work
EN

回答 1

Server Fault用户

发布于 2023-03-21 09:01:56

我将猜测host-admin[s]是服务器上的本地组,而不是LDAP组。

SSSD故意忽略LDAP "sudoers“条目,这些条目引用主机-本地组。如果我没记错的话,它只接受在同一个SSSD“域中”中引用组的条目。

如果希望不同的主机拥有不同的管理员,则可以将授权用户名直接存储在LDAP sudoers规则中( sudoUser属性是多值的),使用sudoHost将角色限制为特定主机(或主机集),并为每一组需要不同管理员列表的主机创建一个新角色。

或者,您可以在LDAP中使用NIS样式的netgroup (它使用nisNetgroup objectClass并包含(host,user,[nisdomain])三元组的列表),也可以完全避免LDAP,并通过盐/Ansible将/etc/sudoers.d/作为常规文件部署(然后该文件可以引用任何组或netgroup)。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/1126673

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档