如何讓 Linux 機器加入 Windows 的 AD 域
首先,先簡單介紹一下 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.localdomain6
192.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
# klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: administrator@CONTOSO.COM
Valid starting Expires Service principal
08/02/16 22:35:26 08/03/16 08:35:29 krbtgt/CONTOSO.COM@CONTOSO.COM
renew 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
查看 MYDOMAINUSERID 的使用者帳戶
# wbinfo -u
補充:
如果啟用 selinux 的話,需要安裝 oddjobmkhomedir 並啟動其服務,這樣才能確保系統對創建的家目錄設置合適的 SELinux 安全上下文。
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive