本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
手动将 Amazon EC2 Linux 实例加入你的 Simple AD 活动目录
除了亚马逊 EC2 Windows 实例外,你还可以将某些亚马逊 EC2 Linux 实例加入你的 Simple AD Active Directory。支持以下 Linux 实例分发版和版本:
-
亚马逊 Linux AMI 2018.03.0
-
Amazon Linux 2(64 位 x86)
-
亚马逊 Linux 2023 AMI
-
红帽企业 Linux 8 (HVM) (64 位 x86)
-
Ubuntu Server 18.04 LTS 和 Ubuntu Server 16.04 LTS
-
CentOS 7 x86-64
-
SUSELinux 企业服务器 15 SP1
注意
其他 Linux 分发版和版本可能会正常运行,但未经过测试。
先决条件
必须先按照 将 Amazon EC2 Linux 实例无缝加入你的 Simple AD 活动目录 中指定的步骤启动实例,然后才能将 Amazon Linux、CentOS、Red Hat 或 Ubuntu 实例加入目录。
重要
以下某些过程如果未正确执行,可能会使实例无法访问或不可用。因此,我们强烈建议在执行这些过程之前对实例创建备份或拍摄快照。
将 Linux 实例加入目录
使用以下选项卡之一对特定 Linux 实例执行步骤:
注意
使用 Simple AD 时,如果在 Linux 实例上创建用户账户时使用了“强制用户在首次登录时更改密码”选项,则该用户无法使用 kpasswd 首次更改其密码。要首次更改密码,域管理员必须使用 Active Directory 管理工具更新用户密码。
通过 Linux 实例管理账户
要通过 Linux 实例管理 Simple AD 中的账户,您必须更新您的 Linux 实例上的特定配置文件,如下所示:
-
在 /.conf 文件中将 krb5_use_kdcin fo 设置为 False。etc/sssd/sssd例如:
[domain/example.com] krb5_use_kdcinfo = False
-
需要重启 sssd 服务配置才能生效:
$ sudo systemctl restart sssd.service
或者,您也可以使用:
$ sudo service sssd start
-
如果您将通过 CentOS Linux 实例管理用户,还必须编辑文件 /etc/smb.conf 以包括:
[global] workgroup = EXAMPLE.COM realm = EXAMPLE.COM netbios name = EXAMPLE security = ads
限制账户登录访问
因为所有账户都是在 Active Directory 中定义的,因此默认情况下,目录中的所有用户都可以登录该实例。可以在 sssd.conf 中使用 ad_access_filter 来仅允许特定用户登录到实例。例如:
ad_access_filter = (memberOf=cn=admins,ou=Testou,dc=example,dc=com)
memberOf
-
指示仅当用户是特定组的成员时,才允许他们访问实例。
cn
-
应具有访问权限的组的通用名称。在此示例中,组名为
admins
. ou
-
这是上面的组所在的组织单位。在此示例中,OU 是
Testou
. dc
-
这是您的域的域组成部分。在本示例中,
example
. dc
-
这是附加域组成部分。在本示例中,
com
.
您必须手动将 ad_access_filter 添加到 /etc/sssd/sssd.conf。
在文本编辑器中打开 /etc/sssd/sssd.conf 文件。
sudo vi /etc/sssd/sssd.conf
执行此操作之后,sssd.conf 可能类似于下面这样:
[sssd] domains = example.com config_file_version = 2 services = nss, 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 ad_access_filter = (memberOf=cn=admins,ou=Testou,dc=example,dc=com)
需要重启 sssd 服务配置才能生效:
sudo systemctl restart sssd.service
或者,您也可以使用:
sudo service sssd restart
身份映射
可以通过两种方法执行 ID 映射,以在 UNIX /Linux 用户标识符 (UID) 和组标识符 (GID) 和 Windows 之间保持统一的体验 Active Directory 安全标识符 (SID) 身份。
集中化
分布式
注意
集中式用户身份映射 Active Directory 需要便携式操作系统接口或POSIX。
集中式用户身份映射
Active Directory 或其他向 Linux 用户提供的UID轻量级目录访问协议 (LDAP) 服务。GIDIn Active Directory,这些标识符存储在用户的属性中:
UID-Linux 用户名(字符串)
UID数字-Linux 用户 ID 号(整数)
GID数字-Linux 群组 ID 号(整数)
将 Linux 实例配置为使用UID和 GID Active Directory,ldap_id_mapping = False
在 sssd.conf 文件中设置。在设置此值之前,请确认您已向中的用户和组添加了数字和GID数字 UID UID Active Directory.
分布式用户身份映射
如果 Active Directory 没有POSIX扩展名,或者如果您选择不集中管理身份映射,Linux 可以计算UID和GID值。Linux 使用用户的唯一安全标识符 (SID) 来保持一致性。
要配置分布式用户 ID 映射,请在 sssd.conf 文件ldap_id_mapping = True
中进行设置。
连接到 Linux 实例
当用户使用SSH客户端连接到实例时,系统会提示他们输入用户名。用户可以采用 username@example.com
或 EXAMPLE\username
格式输入用户名。根据您使用的 Linux 发行版,响应将与以下内容类似:
Amazon Linux、Red Hat Enterprise Linux 和 CentOS Linux
login as: johndoe@example.com johndoe@example.com's password: Last login: Thu Jun 25 16:26:28 2015 from XX.XX.XX.XX
SUSELinu
SUSE Linux Enterprise Server 15 SP1 x86_64 (64-bit) As "root" (sudo or sudo -i) use the: - zypper command for package management - yast command for configuration management Management and Config: https://www.suse.com/suse-in-the-cloud-basics Documentation: https://www.suse.com/documentation/sles-15/ Forum: https://forums.suse.com/forumdisplay.php?93-SUSE-Public-Cloud Have a lot of fun...
Ubuntu Linux
login as: admin@example.com admin@example.com@10.24.34.0's password: Welcome to Ubuntu 18.04.4 LTS (GNU/Linux 4.15.0-1057-aws x86_64) * Documentation: https://help.ubuntu.com * Management: https://landscape.canonical.com * Support: https://ubuntu.com/advantage System information as of Sat Apr 18 22:03:35 UTC 2020 System load: 0.01 Processes: 102 Usage of /: 18.6% of 7.69GB Users logged in: 2 Memory usage: 16% IP address for eth0: 10.24.34.1 Swap usage: 0%