编辑 Sudoers 文件以允许 AD 域组拥有 sudo 权限

编辑 Sudoers 文件以允许 AD 域组拥有 sudo 权限

我最近设法将我的 Ubuntu Server 18.04 机器连接到我公司的 Windows AD。我能够使用我的 AD 凭据登录,但我想更进一步...

这是我为了将我的 Ubuntu 18.04 机器加入 Windows 域而遵循的文章,请注意,我没有做任何配置来限制 ssh 登录到域组,因为我仍在努力。 https://www.smbadmin.com/2018/06/connecting-ubuntu-server-1804-to-active.html?showComment=1548915938955#c6716393705599388679

然而....

我想要实现的目标如下:

  • 在 /etc/sudoers 文件中添加一行,指定我组织内的 AD 组。
  • 该组成员应该在我们组织中的 Linux 机器上拥有 sudo 访问权限。

我做了什么:

  • 我尝试添加如下行:
  • “域名\组名 ALL=(ALL:ALL) ALL”
  • 还有更多....但是,每当我尝试使用我知道在该组中的用户进行 sudo 时,我都会收到通常的“...用户不在 sudoers 中...将报告事件...”

这可能是什么原因? 这可能是由于我将机器连接到 AD 域时指定的配置造成的吗?

该组的完整路径如下:- domainname/Groups/Elab/Elab-Level3

以下是我用于加入 AD 域的文件配置:

krb5配置文件

[libdefaults]
    default_realm = MYREALM
dns_lookup_kdc = true
dns_lookup_realm = true

...... 其余文件 ........

领域配置配置文件

[users]
 default-home = /home/%D/%U
 default-shell = /bin/bash

[active-directory]
 default-client = sssd
 os-name = Ubuntu Server
 os-version = 18.04

[service]
 automatic-install = no

[mydomain]
 fully-qualified-names = yes
 automatic-id-mapping = no
 user-principal = yes
 manage-system = yes

sssd.conf

[sssd] 
domains = mydomain config_file_version = 2
services = nss, pam, ssh

[domain/mydomain]
ad_domain = mydomain
krb5_realm = MYDOMAIN
realmd_tags = manages-system joined-with-adcli 
cache_credentials = True
id_provider = ad
krb5_store_password_if_offline = True
default_shell = /bin/bash
ldap_id_mapping = True
use_fully_qualified_names = False
fallback_homedir = /home/%u@%d
access_provider = ad
ldap_user_ssh_public_key = altSecurityIdentities

我真的希望这里有人能回答我的问题,我搜索了很多帖子,但还是没能解决这个问题

答案1

如果组由单个单词组成,那么将以下记录添加到 /etc/sudoers 文件就足够了:

%ActiveDirectoryUserGroup ALL=(ALL:ALL) ALL

如果组包含空格则记录应如下所示:

%Domain\ Users ALL=(ALL:ALL) ALL
%Domain\ Admins ALL=(ALL:ALL) NOPASSWD:ALL
%Linux\ Admins ALL=(ALL:ALL) NOPASSWD:ALL

此处的“Domain\ Users”、“Domain\ Admins”、“Linux\ Admins”是 Active Directory 中的组名

答案2

我运行sudo visudo并添加了这一行:

%[email protected]  ALL=(ALL:ALL) ALL

最后它终于起作用了。

答案3

%MYDOMAIN\\domain\ admins  ALL=(ALL) ALL

域名为大写字母,组名为小写字母,分隔符[\]和空格以'\'转义。

答案4

谢谢,克里斯!第一种风格%MYDOMAIN\\cansudo ALL=(ALL:ALL) ALL,是最终对我有用的风格。我正在使用 Zentyal (ebox) AD 控制器/文件服务器。除了安装管理员(我)之外,我无法授予任何人 sudo 权限,但现在我可以了。

相关内容