带 AD 和 SSSD 的 LDAP Sudoers(仅返回主要组)

带 AD 和 SSSD 的 LDAP Sudoers(仅返回主要组)

我在使 LDAP sudoers 规则正常工作时遇到问题。我的环境是:

  • Windows Server 2012 R2 上的活动目录
  • 乌班图16.04.2
  • SSSD 1.13.4-1ubuntu1.5
  • sudo 1.8.20-3(截至发帖时最新,尝试了 LDAP 和非 LDAP 版本)

我跟着这些说明创建 sudo_debug.log (已清理):

Jun 19 14:53:28 sudo[60452] Received 2 rule(s)
Jun 19 14:53:28 sudo[60452] -> sudo_sss_filter_result @ ./sssd.c:225
...
Jun 19 14:53:28 sudo[60452] sssd/ldap sudoHost 'ALL' ... MATCH!
...
Jun 19 14:53:28 sudo[60452] val[0]=%linuxadmins
...
Jun 19 14:53:28 sudo[60452] sudo_get_grlist: looking up group names for [email protected]
...
Jun 19 14:53:28 sudo[60452] sudo_getgrgid: gid 1157000513 [] -> group domain [email protected] [] (cache hit)
...
Jun 19 14:53:28 sudo[60452] user_in_group: user [email protected] NOT in group linuxadmins
Jun 19 14:53:28 sudo[60452] <- user_in_group @ ./pwutil.c:1031 := false
Jun 19 14:53:28 sudo[60452] user [email protected] matches group linuxadmins: false @ usergr_matches() ./match.c:969
Jun 19 14:53:28 sudo[60452] <- usergr_matches @ ./match.c:970 := false
Jun 19 14:53:28 sudo[60452] sssd/ldap sudoUser '%linuxadmins' ... not ([email protected])
...

从这个日志中,你可以看到:

  • sudoers 规则从 AD 获取到 sudo(2 条规则,显示的一条与 AD 条目匹配)
  • linuxadmins组内匹配失败

但是,用户位于linuxadmins组中(已清理,但“用户”匹配):

$ getent group linuxadmins
[email protected]:*:1157001133:[email protected],[email protected]

该日志唯一奇怪的地方是它sudo_get_grlist似乎只返回用户的 Primary Group 。这可以解释为什么没有比赛。domain [email protected]

有没有人见过这个?知道组列表是否在 sudo 内解决(我应该继续等待我的问题sudo-users)或其他地方(如 SSSD)(我应该找到他们的列表)?

答案1

是的,缺乏主要群体可能是问题所在。有效的事实getent group是无关紧要的,sudo使用 initgroups 输出,这或多或少是你调用 时得到的id

而且您也认为 sssd-users 是最好的:https://lists.fedorahosted.org/admin/lists/sssd-users.lists.fedorahosted.org/

不久前我们甚至修复了我们的故障排除指南:https://pagure.io/docs/SSSD/sssd/,直接链接是https://docs.pagure.org/SSSD.sssd/users/troubleshooting.html

答案2

在 CentOS 7 中,我遇到了同样的 id 问题,仅显示主要组,例如:

id DOMAIN\\administrator

uid=485400500(administrator) gid=485400513(domain users) groups=485400513(domain users)

我正在读这篇参考资料(关联)并编辑我的/etc/sssd/sssd.conf,并意识到我缺少一些推荐的配置选项。之前,我只有:

[domain/AD.DOMAIN]
id_provider = ad

所以我在其下面添加了参考文献中提到的其他标志:

auth_provider = ad
chpass_provider = ad
access_provider = ad

不幸的是,我不知道他们中的哪一个负责这一改进,但如果我不得不猜测的话,那就是auth_provider = ad。现在id有这样的结果:

id DOMAIN\\administrator

uid=485400500(administrator) gid=485400513(domain users) 
groups=485400513(domain users),485400518(schema admins),485400519(enterprise 
admins),485400512(domain admins),485403117(sudoers),485400520(group policy 
creator owners),485400572(denied rodc password replication 
group),485401624(esx admins),485401679(wseremotewebaccessusers), 
485401680(wseallowshareaccess),485401681(wseallowcomputeraccess),
485401682(wseallowmediaaccess),485401683(wseallowadd inaccess),485401684(wseallowdashboardaccess),
485401685(wseallowhomepagelinks),45401686(wsealertadministrators),
485401687(wseremoteaccessusers),485403103(ipamad mins)

相关内容