将Ubuntu 20.04 | 18.04/debian 10加到Active Directory(AD)域

时间:2020-02-23 14:39:23  来源:igfitidea点击:

问题:如何将Ubuntu 20.04 | 18.04加入Windows域?
,我可以将Debian 10加入Active Directory域吗?
本文已写入,向我们展示如何使用Realmd加入Ubuntu 20.04 | 18.04/Debian 10服务器或者桌面到Active Directory域。
Active Directory域是大多数企业环境中的用户信息的中心集线器。

例如,在我的基础架构中,它是所有用户都经过身份验证到Active Directory凭据的所有Linux系统的关键要求。
这应该适用于基于Debian和Red Hat的Linux发行版。
我早些时候为Rhel/CentOS写了一个教程,从下面的链接检查。

如何将CentOS 8/Rhel 8系统加入Active Directory(AD)域

本教程将说明如何配置SSSD以从同一Active Directory资源林中的域中检索信息。
如果我们正在使用多个AD林,本教程可能无法为我们工作。
我们还将进一步进一步,并为通过AD登录的用户配置sudo规则。
这是一个图表描绘了设置和安装方式的工作原理。

所以按照以下步骤加入Ubuntu 20.04 | 18.04/debian 10到Active Directory(AD)域。

第1步:更新APT索引

首先更新Ubuntu/Debian Linux系统。

sudo apt -y update

如果服务器是新安装的,则这是必不可少的。

对于Ubuntu 20.04 | 18.04,请将以下存储库添加到索斯.List文件。

sudo tee -a /etc/apt/sources.list <<EOF
deb http://us.archive.ubuntu.com/ubuntu/bionic universe
deb http://us.archive.ubuntu.com/ubuntu/bionic-updates universe
EOF

第2步:设置服务器主机名和DNS

为具有正确域组件设置服务器的正确主机名。

sudo hostnamectl set-hostname myubuntu.example.com

确认主机名:

$hostnamectl
   Static hostname: myubuntu.example.com
         Icon name: computer-vm
           Chassis: vm
        Machine ID: 5beb7ac3260c4f00bcfbe1088f48b8c7
           Boot ID: b2a0d9abe43b455fb49484dbaa59dc41
    Virtualization: vmware
  Operating System: Ubuntu 18.04.1 LTS
            Kernel: Linux 4.15.0-29-generic
      Architecture: x86-64

确认正确配置的DNS IA:

$cat /etc/resolv.conf

Ubuntu 20.04 | 18.04带有systemd-destve,我们需要禁用服务器直接访问网络DNS。

sudo systemctl disable systemd-resolved
sudo systemctl stop systemd-resolved

如果在DHCP上,我们可以手动更新DNS服务器。

$sudo unlink /etc/resolv.conf
$sudo vim /etc/resolv.conf

第3步:安装所需的包

将Ubuntu 20.04 |将Ubuntu 20.04 |将Ubuntu 20.04 |加入Active Directory(AD)域时需要许多软件包。

sudo apt update
sudo apt -y install realmd libnss-sss libpam-sss sssd sssd-tools adcli samba-common-bin oddjob oddjob-mkhomedir packagekit

只有在成功安装依赖项后,我们才能在Debian 10/Ubuntu 20.04/18.04上发现Active Directory域。

第4步:在debian 10/ubuntu 20.04上发现Active Directory域| 18.04

realm发现命令返回完整的域配置和必须安装的包列表,以便在域中注册系统。

$sudo realm discover example.com
example.com
  type: kerberos
  realm-name: EXAMPLE.COM
  domain-name: example.com
  configured: no
  server-software: active-directory
  client-software: sssd
  required-package: sssd-tools
  required-package: sssd
  required-package: libnss-sss
  required-package: libpam-sss
  required-package: adcli
  required-package: samba-common-bin

用有效的AD域替换example.com。

步骤5:加入Ubuntu 20.04 | 18.04/debian 10到Active Directory(AD)域

使用Windows Active Directory域集合Linux计算机需要一个AD管理用户帐户。
检查并确认AD管理帐户和密码。

通过配置本地系统服务和Identity域中的条目,将设置本地计算机以与指定域一起使用本地计算机。
该命令具有许多选项可以使用:

$realm join --help

基本命令执行是:

$sudo realm join -U Administrator example.com
Password for Administrator:

其中:管理员是用于将计算机集成到Ad.example.com的管理员帐户的名称是AD域的名称

命令首先尝试在没有凭据的情况下连接,但如果需要,它会提示密码。

查看当前realmd详细信息。

$realm  list
example.com
  type: kerberos
  realm-name: EXAMPLE.COM
  domain-name: example.com
  configured: kerberos-member
  server-software: active-directory
  client-software: sssd
  required-package: sssd-tools
  required-package: sssd
  required-package: libnss-sss
  required-package: libpam-sss
  required-package: adcli
  required-package: samba-common-bin
  login-formats: %Hyman@theitroad
  login-policy: allow-realm-logins

在基于RHEL的系统上,将自动创建用户的主目录。
在Ubuntu/Debian上,我们需要启用此功能。

sudo bash -c "cat > /usr/share/pam-configs/mkhomedir" <<EOF
Name: activate mkhomedir
Default: yes
Priority: 900
Session-Type: Additional
Session:
        required                        pam_mkhomedir.so umask=0022 skel=/etc/skel
EOF

然后用:

sudo pam-auth-update

选择<确定>

确保选择"激活mkhomedir",它应该有[*]

然后选择<确定>以保存更改。

SSSD.conf配置文件位于/etc/ssd/sssd.conf。
每当文件中有更改时,需要重启。

sudo systemctl restart sssd

状态应该运行。

$systemctl status sssd

如果集成工作,则应该可以获得AD用户信息。

$id jmutai
uid=1783929917(Hyman@theitroad) gid=1784800513(domain Hyman@theitroad) groups=1783870513(domain Hyman@theitroad)

步骤6:控制访问 - 限制用户/组

通过仅允许特定的用户/和组,可以限制注册的服务器。

限制用户

要允许用户访问SSH和Console,请使用命令:

$realm permit Hyman@theitroad
$realm permit Hyman@theitroad Hyman@theitroad

许可访问组 - 示例

$ream permit -g sysadmins
$realm permit -g 'Security Users'
$realm permit 'Domain Users' 'admin users'

这将修改SSSD.conf文件。

如果我们喜欢允许所有用户访问,请运行:

$sudo realm permit --all

要拒绝所有域用户访问,请使用:

$sudo realm  deny --all

第7步:配置sudo访问

默认情况下,域用户无权将权限升级到root。
必须根据用户名或者组授予用户访问权限。

让我们首先创建sudo权限授予文件。

$sudo vi /etc/sudoers.d/domain_admins

添加单个用户:

Hyman@theitroad        ALL=(ALL)       ALL

添加另一个用户:

Hyman@theitroad     ALL=(ALL)   ALL
Hyman@theitroad     ALL=(ALL)   ALL

添加组

%Hyman@theitroad     ALL=(ALL)   ALL

添加两个或者三个名称的组。

%security\ Hyman@theitroad       ALL=(ALL)       ALL
%system\ super\ Hyman@theitroad ALL=(ALL)       ALL

第8步:测试SSH访问

在允许登录的AD上以用户远程访问服务器。

$ssh Hyman@theitroad
The authenticity of host 'localhost (::1)' can't be established.
ECDSA key fingerprint is SHA256:wmWcLi/lijm4zWbQ/Uf6uLMYzM7g1AnBwxzooqpB5CU.
ECDSA key fingerprint is MD5:10:0c:cb:22:fd:28:34:c6:3e:d7:68:15:02:f9:b4:e9.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts.