云网牛站
所在位置:首页 > Linux云服务器 > 使用realmd将Ubuntu 18.04/Debian 10加入Active Directory域

使用realmd将Ubuntu 18.04/Debian 10加入Active Directory域

2020-01-27 16:22:55作者:叶云稿源:云网牛站

本文介绍使用realmd将Ubuntu 18.04/Debian 10服务器或桌面加入Active Directory(AD)域的方法。

 

步骤1:更新您的APT索引

首先更新您的Ubuntu/Debian Linux系统:

sudo apt -y update

这是必不可少的,因为如果服务器是全新安装的,则安装可能会失败。

对于Ubuntu 18.04,将以下存储库添加到您的sources.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

可参考:将Debian 10 Buster官方存储库添加到sources.list的方法

 

步骤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 18.04附带了systemd-resolve,您需要禁用它才能使服务器直接访问网络DNS:

sudo systemctl disable systemd-resolved

sudo systemctl stop systemd-resolved

 

步骤3:安装必要的套件

将Ubuntu 18.04/Debian 10系统加入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 18.04上发现Active Directory域。

 

步骤4:在Debian 10/Ubuntu 18.04上发现Active Directory域

realm discover命令返回完整的域配置以及要在域中注册的系统必须安装的软件包的列表:

$ 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 18.04/Debian 10加入Active Directory(AD)域

要将您的Linux计算机与Windows Active Directory域集成在一起,需要一个AD管理用户帐户,检查并确认AD管理员帐户和密码。

通过配置本地系统服务和标识域中的条目,realm join命令将设置用于指定域的本地计算机,该命令具有许多选项,可以使用以下选项进行检查:

$ 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: %U@example.com

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

选择<OK>:

使用realmd将Ubuntu 18.04/Debian 10加入Active Directory域

确保选择了“activate mkhomedir”,前面有[*]:

使用realmd将Ubuntu 18.04/Debian 10加入Active Directory域

然后选择<OK>保存更改。

您的sssd.conf配置文件位于/etc/sssd/sssd.conf中,只要文件有更改,就需要重新启动:

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)

 

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

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

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

 

步骤7:配置Sudo访问和测试SSH访问

1、配置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

2、测试SSH访问

以允许登录的AD用户身份远程访问服务器:

$ ssh user1@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)的方法

精选文章
热门文章