云网牛站
所在位置:首页 > Linux云服务器 > 将CentOS 8/RHEL 8系统加入Active Directory(AD)域

将CentOS 8/RHEL 8系统加入Active Directory(AD)域

2020-01-05 21:26:37作者:李燕稿源:云网牛站

如何将CentOS 8/RHEL 8操作系统加入Windows Active Directory domain(域)?在本文中,我们将讨论如何使用realmd系统将CentOS 8/RHEL 8服务器或工作站连接到Active Directory域。Realmd提供了一种清晰简单的方法来发现和加入身份域以实现直接域集成。在大多数企业环境中,Active Directory域用作存储用户信息的中央集线器,在此集成中,realmd将基础Linux系统服务(例如SSSD或Winbind)配置为连接到域。Linux系统连接到Active Directory,以提取用于身份验证请求的用户信息。本文将说明如何配置SSSD以从同一Active Directory资源林中的域检索信息。如果您使用多个AD目录林,则本文不适合您。

将CentOS 8/RHEL 8系统加入Active Directory(AD)域

 

步骤1:安装必需的软件包

CentOS 8/RHEL 8 AD集成需要许多软件包,通过运行以下命令在系统上安装它们:

sudo dnf install realmd sssd oddjob oddjob-mkhomedir adcli samba-common samba-common-tools krb5-workstation

接受安装提示继续进行安装:

将CentOS 8/RHEL 8系统加入Active Directory(AD)域

 

步骤2:在CentOS 8/RHEL 8上发现Active Directory域

在进行AD集成之前,请确保CentOS 8/RHEL 8计算机可以解析和发现AD域。

验证您的DNS设置:

$ cat /etc/resolv.conf

检查AD域发现是否成功:

$ 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: oddjob

required-package: oddjob-mkhomedir

required-package: sssd

required-package: adcli

required-package: samba-common-tools

 

步骤3:在Active Directory域中加入CentOS 8/RHEL 8 Linux计算机

要将CentOS 8/RHEL 8计算机与Windows Active Directory域集成在一起,需要一个AD管理用户帐户。

确保您具有管理员用户名和密码,然后运行以下命令将CentOS 8/RHEL 8 Linux系统加入Active Directory域:

$ realm join example.com -U Administrator

Password for Administrator:

用您的AD管理员帐户替换Administrator,然后在询问时输入密码,确认加入成功:

$ sudo 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: oddjob

required-package: oddjob-mkhomedir

required-package: sssd

required-package: adcli

required-package: samba-common-tools

login-formats: %U@example.com

login-policy: allow-realm-logins

您的sssd.conf配置文件应如下所示:

$ cat /etc/sssd/sssd.conf

[sssd]

domains = example.com

config_file_version = 2

services = nss, pam

default_domain_suffix = example.com

[nss]

homedir_substring = /home

[pam]

[domain/example.com]

ad_domain = example.com

krb5_realm = EXAMPLE.COM

realmd_tags = manages-system joined-with-samba

cache_credentials = True

id_provider = ad

krb5_store_password_if_offline = True

default_shell = /bin/bash

ldap_id_mapping = True

use_fully_qualified_names = True

fallback_homedir = /home/%u@%d

access_provider = ad

在配置文件中进行更改时,需要重新启动服务:

sudo systemctl restart sssd

状态应该正在运行,运行systemctl status sssd命令查看。

如果集成有效,则应该可以获得AD用户信息:

$ id jmutai

uid=1783929917(jmutai@example.com) gid=1784800513(domain users@example.com) groups=1783870513(domain users@example.com)

 

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

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

1、限制用户

要允许用户通过SSH和控制台访问,请使用以下命令:

$ realm permit user1@example.com

$ realm permit user2@example.com user3@example.com

2、允许访问组–示例

$ 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

 

步骤5:配置Sudo访问

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

首先创建sudo权限授予文件:

$ sudo vi /etc/sudoers.d/domain_admins

添加单个用户:

user1@example.com  ALL=(ALL) ALL

添加其他用户:

user1@example.com  ALL=(ALL) ALL

user2@example.com  ALL=(ALL) ALL

新增群组:

%group1@example.com  ALL=(ALL) ALL

添加具有两个或三个名称的组:

%security\ users@example.com  ALL=(ALL) ALL

%system\ super\ admins@example.com  ALL=(ALL) ALL

技术扩展:Linux系统中sudo命令的10个技巧

 

步骤6:测试SSH访问

以允许登录的AD用户身份远程访问服务器,附返回信息:

$ ssh jmutai@localhost

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.

这确认我们的配置成功。

 

相关主题

识别Linux服务器与Active Directory集成(AD)的方法

精选文章
热门文章