我最近设法将我的 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
答案3
%MYDOMAIN\\domain\ admins ALL=(ALL) ALL
域名为大写字母,组名为小写字母,分隔符[\]和空格以'\'转义。
答案4
谢谢,克里斯!第一种风格%MYDOMAIN\\cansudo ALL=(ALL:ALL) ALL
,是最终对我有用的风格。我正在使用 Zentyal (ebox) AD 控制器/文件服务器。除了安装管理员(我)之外,我无法授予任何人 sudo 权限,但现在我可以了。