我最近设法让我的 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 访问权限。
我做了什么:
- 我尝试添加如下行:
- "nameofdomain\nameofgroup ALL=(ALL:ALL) ALL"
- 还有更多……但是,每当我尝试与我知道在组中的用户进行 sudo 时,我都会收到通常的“……用户不在 sudoers 中……将报告事件……”
这可能是什么原因?可能是由于我在将机器连接到 AD 域时指定的配置?
该组的完整路径如下: - domainname/Groups/Elab/Elab-Level3
这是我用于加入 AD 域的文件的配置:
krb5.conf
[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
我真的希望这里有人有答案,我已经搜索了很多线程并且无法破解这个坚果
如果组由单个单词组成,那么将以下记录添加到 /etc/sudoers 文件就足够了:
如果组包含空格,则记录应如下所示:
这里 "Domain\ Users" , "Domain\ Admins", "Linux\ Admins" 是 Active Directory 中的组名
我跑了
sudo visudo
,我添加了这一行:它终于奏效了。
DOMAIN NAME 是大写字母,组名是小写字母,Separator[\] 和 Space 由 '\' 转义。
我通过创建一个特殊的域用户组来实现你所追求的 -
cansudo
. 我这样做的原因是将能够 sudo 与成为域管理员分开,同时也与本地 sudo 组区分开来。根据您是否为用户和组添加了默认域前缀,可以使用的行是:
%MYDOMAIN\\cansudo ALL=(ALL:ALL) ALL
或者
%cansudo ALL=(ALL:ALL) ALL
很长一段时间以来,我一直在摸不着头脑,然后决定将这两个都放在以防万一。