将 CentOS 7/RHEL 7 服务器加入 Active Directory 域
01 首先,使用以下命令安装所需的包:
[jack@onitroad ~]# sudo yum install oddjob realmd samba samba-common oddjob-mkhomedir sssd adcli
02 要发现域标识,我们将使用领域发现命令,该命令将返回完整的域配置和必须安装的软件包列表,系统才能在域中注册。
[jack@onitroad ~]# realm discover onitroad.local onitroad.LOCAL type: kerberos realm-name: onitroad.LOCAL domain-name: onitroad.LOCAL 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 onitroad.local type: kerberos realm-name: onitroad.LOCAL domain-name: onitroad.local configured: no
03 现在,要加入 AD 域,请使用以下命令将计算机添加到 AD 域中的默认文件夹:
sudo realm join jack@onitroad onitroad.local Password for jack@onitroad:
如果要将其添加到 Active Directory 中的指定组织单位,首先需要创建 OU,或者至少确保它存在。
以下命令我们将服务器加入 AD 域并将计算机帐户添加到 Linux OU:
[jack@onitroad ~]# sudo realm join jack@onitroad --computer-ou=OU=Linux,OU=Servers,DC=onitroad,DC=LOCAL onitroad.local Password for jack@onitroad:
如果我们收到此错误“领域:无法加入领域:加入域 onitroad.LOCAL 失败”,只需重新启动领域并重试
04 要测试系统是否成功加入域,请使用以下命令:
[jack@onitroad ~]# realm list onitroad.LOCAL type: kerberos realm-name: onitroad.LOCAL domain-name: onitroad.local 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: %jack@onitroad login-policy: allow-realm-logins
05 要显示有关域中用户的信息,请运行以下命令:
# id jack@onitroad uid=344601106(jack@onitroad) gid=344600513(domain jack@onitroad) groups=344600513(domain jack@onitroad),344601107(jack@onitroad)
06 只允许域中的特定帐户登录,使用以下命令:该命令将模式更改为仅允许特定帐户登录,然后将指定帐户添加到要允许的帐户列表中。
[jack@onitroad ~]# realm permit jack@onitroad jack@onitroad
07 要只允许一个 Active Directory 组登录,请使用以下命令:在本示例中,我们将允许 LinuxAdmins
AD 组登录到系统
[jack@onitroad ~]# realm permit -g jack@onitroad
08 为了向 Active Directory 组授予 sudo
权限,在本示例中,我们将通过运行 visudo 命令将 LinuxAdmins AD 组添加到 sudoers 并添加以下行:
# visudo %jack@onitroad ALL=(ALL) ALL
09 要离开 Active Directory 域,我们可以使用以下命令:
# realm leave jack@onitroad onitroad.local
如果我们想离开域并删除comuter帐户,我们可以在命令末尾使用添加选项--remove
# realm leave jack@onitroad onitroad.local --remove Password for jack@onitroad:
在大多数环境中,Active Directory 域是用户信息的中心枢纽,这意味着 Linux 系统需要某种方式来访问该用户信息以进行身份验证请求。
在本文中,我们将介绍如何将 CentOS 7/RHEL 7 系统加入 Active Directory 域。
在加入AD域之前,我们需要确保我们已经设置了时间服务(NTP)和DNS。
有了这些基础设施服务,我们需要在 CentOS/RHEL 服务器上安装以下软件包:
- realmd:这管理注册和活动目录域的成员资格
- samba : 这表示 Samba 服务
- samba-common :这表示服务器和客户端的共享工具
- oddjob :这是一个 D-bus 服务,为客户运行零工
- oddjob-mkhomedir :如果需要,这与零工服务一起用于为 AD 帐户创建主目录
- sssd :系统安全服务守护进程可用于根据需要转移客户端身份验证
- adcli :这些是用于加入和管理 AD 域的工具