首先,先简单介绍一下 AD 域。自 Windows 2000 以来,AD 一直是 Windows 的身份验证和目录服务,AD 基于 LDAP 实现其功能,其使用 DNS 进行主机名的解析,使用 Kerberos V5 进行用户身份验证,使用 LDAP V3 进行统一的帐户管理。 目标:在 AD 域中,将 Linux 服务器加入 AD,以使 Domain Admins 用户组成员可以登录操作 Linux 服务器,不需要在 Linux 服务器中单独创建帐户。 环境:一台 Windows Server 2012 R2 操作系统的服务器,安装有 AD 并作为域控制器(DC),同时也作为 DNS 服务器和时间服务器;一台 RedHat Enterprise Linux 6.x 的服务器,请自行配置好网络及 YUM 源。有关 AD 域服务器的搭建,由于比较简单,请自行查阅资料完成,这里不再详述。 这里以 Windows 服务器地址为 192.168.2.122,域名为 contoso.com,主机名为 ad.contoso.com;Linux 服务器地址为 192.168.2.150,主机名为 lemon20.contoso.com。 1、安装所需软件: # yum -y install samba samba-client samba-common samba-winbind samba-winbind-clients krb5-workstation ntpdate 2、设置服务自启动并启动服务: # chkconfig smb on# chkconfig winbind on# service smb start# service winbind start 3、修改 /etc/hosts 文件,添加主机对应记录: 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4::1 localhost localhost.localdomain localhost6 localhost6.localdomain6192.168.2.150 lemon20.contoso.com lemon20 4、设置 DNS 地址并与 AD 服务器同步时间: # echo "nameserver 192.168.2.122" >> /etc/resolv.conf# ntpdate ad.contoso.com 5、设置 Kerberos 票据(可选): 销毁已经存在的所有票据: # kdestroy 查看当前是否还存在票据: # klist klist: No credentials cache found (ticket cache FILE:/tmp/krb5cc_0) 生成新的票据,注意域名大写。 # kinit administrator@CONTOSO.COM# klistTicket cache: FILE:/tmp/krb5cc_0Default principal: administrator@CONTOSO.COMValid starting Expires Service principal08/02/16 22:35:26 08/03/16 08:35:29 krbtgt/CONTOSO.COM@CONTOSO.COMrenew until 08/09/16 22:35:26 6、以命令方式设置 samba 与 Kerberos,并加入 AD 域: #authconfig --enablewinbind --enablewins --enablewinbindauth --smbsecurity ads --smbworkgroup=CONTOSO --smbrealm CONTOSO.COM --smbservers=ad.contoso.com --enablekrb5 --krb5realm=CONTOSO.COM --krb5kdc=ad.contoso.com --krb5adminserver=ad.contoso.com --enablekrb5kdcdns --enablekrb5realmdns --enablewinbindoffline --winbindtemplateshell=/bin/bash --winbindjoin=administrator --update --enablelocauthorize --enablemkhomedir --enablewinbindusedefaultdomain 注意命令中的大小写,此步骤也可以使用 authconfig-tui 完成。 7、增加 sudo 权限(可选): # visudo 加入下列设置: %MYDOMAIN//domain/ admins ALL=(ALL) NOPASSWD: ALL 8、确认是否正确加入 AD 域: 查看 AD 的相关信息 # net ads info 查看 MYDOMAIN/USERID 的使用者帐户 # wbinfo -u 补充: 如果启用 selinux 的话,需要安装 oddjobmkhomedir 并启动其服务,这样才能确保系统对创建的家目录设置合适的 SELinux 安全上下文。 |