使用 pam_winbind 时在 Linux 中基于 Active Directory 组让用户拥有 su/sudo

使用 pam_winbind 时在 Linux 中基于 Active Directory 组让用户拥有 su/sudo

我正在使用 openSUSE 11.4,它在 Yast 中内置了 Active Directory 配置(它为您完成所有 pam_winbind、Kerberos、nss、Samba 客户端工作),并且我可以成功针对我的 AD 域进行身份验证。

我创建了一个名为 LinuxAdmins 的 AD 组,我希望该组中的人员能够在某些 Linux 服务器上无需 root 密码即可使用 su,或者在这些机器上使用自己的密码使用 sudo。

openSUSE 配置 AD 的方式是,它会将用户名设置为带有域前缀。所以我的用户名是 MYDOMAN\djsumdog。如果我尝试将以下任一行添加到 sudoers 文件,我仍然无法使用我的用户进行 sudo。我不断收到“MYDOMAIN\djsumdog 不在 sudoers 文件中。此事件将被报告。”我尝试使用单斜杠和双斜杠作为用户名和组名。

%MYDOMAIN\LinuxAdmins ALL=(ALL) ALL
MYDOMAIN\djsumdog ALL=(ALL) ALL 

我知道在我的 Gentoo 盒子上,/etc/pam.d/su 中的以下行允许 wheel 组中的用户无需密码即可进行 su:

auth       sufficient   pam_wheel.so use_uid trust

但这似乎在 openSUSE 中不起作用(即使对于本地用户也是如此),更不用说 AD 用户了。我也尝试使用 pam_winbind.so 模块:

#%PAM-1.0
auth     sufficient     pam_rootok.so
auth     include        common-auth
auth     sufficient     pam_winbind.so require_membership_of=MYDOMAIN\\LinuxAdmins
account  sufficient     pam_rootok.so
account  include        common-account
password include        common-password
session  include        common-session
session  optional       pam_xauth.so

但我不认为这会起作用,因为 require_membership_of 参数似乎是针对整个机器的主要身份验证。

我知道使用用户密码的 sudo 更安全,但如果我可以通过根据用户所在的 AD 组验证用户来使 su 或 sudo 正常工作,我会很高兴。

答案1

根据 Hadyman5 的评论,我运行了以下命令:

 id MYDOMAIN\\djsumdog

...并发现我的组实际上是 MYDOMAIN\linuxadmins,全部小写。然后我将以下内容添加到我的 sudo 配置中:

%MYDOMAIN\\linuxadmins ALL=(ALL) ALL

并且 sudo 现在可与该组中的用户一起正常运行。

答案2

使用说明将 centos 7 框添加到我的 2012r2 域这里,我能够添加到我的域中。将 AD 组添加到 sudoers 需要我将组格式化为,%GroupName@DOMAIN ALL=(ALL) ALL然后它就可以正常工作了。

相关内容