對于帳戶統(tǒng)一管理系統(tǒng)或軟件來說,在 Linux 下你可能知道 NIS、OpenLDAP、samba 或者是 RedHat、IBM 的產(chǎn)品,在 Windows 下當(dāng)然就是最出名的活動目錄 (AD)了,這里就來探討一下如何讓 Linux 的計算機(jī)加入 AD 域。
江干網(wǎng)站制作公司哪家好,找成都創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營維護(hù)。成都創(chuàng)新互聯(lián)公司2013年成立到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選成都創(chuàng)新互聯(lián)。
首先,先簡單介紹一下 AD 域。自 Windows 2000 以來,AD 一直是 Windows 的身份驗(yàn)證和目錄服務(wù),AD 基于 LDAP 實(shí)現(xiàn)其功能,其使用 DNS 進(jìn)行主機(jī)名的解析,使用 Kerberos V5 進(jìn)行用戶身份驗(yàn)證,使用 LDAP V3 進(jìn)行統(tǒng)一的帳戶管理。
目標(biāo):在 AD 域中,將 Linux 服務(wù)器加入 AD,以使 Domain Admins 用戶組成員可以登錄操作 Linux 服務(wù)器,不需要在 Linux 服務(wù)器中單獨(dú)創(chuàng)建帳戶。
環(huán)境:一臺 Windows Server 2012 R2 操作系統(tǒng)的服務(wù)器,安裝有 AD 并作為域控制器(DC),同時也作為 DNS 服務(wù)器和時間服務(wù)器;一臺 RedHat Enterprise Linux 6.x 的服務(wù)器,請自行配置好網(wǎng)絡(luò)及 YUM 源。有關(guān) AD 域服務(wù)器的搭建,由于比較簡單,請自行查閱資料完成,這里不再詳述。
這里以 Windows 服務(wù)器地址為 192.168.2.122,域名為 contoso.com,主機(jī)名為 ad.contoso.com;Linux 服務(wù)器地址為 192.168.2.150,主機(jī)名為 lemon20.contoso.com。
1、安裝所需軟件:
# yum -y install samba samba-client samba-common samba-winbind samba-winbind-clients krb5-workstation ntpdate
2、設(shè)置服務(wù)自啟動并啟動服務(wù):
# chkconfig smb on
# chkconfig winbind on
# service smb start
# service winbind start
3、修改 /etc/hosts 文件,添加主機(jī)對應(yīng)記錄:
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、設(shè)置 DNS 地址并與 AD 服務(wù)器同步時間:
# echo "nameserver 192.168.2.122" /etc/resolv.conf
# ntpdate ad.contoso.com
5、設(shè)置 Kerberos 票據(jù)(可選):
銷毀已經(jīng)存在的所有票據(jù):
# kdestroy
查看當(dāng)前是否還存在票據(jù):
# klist
klist: No credentials cache found (ticket cache FILE:/tmp/krb5cc_0)
生成新的票據(jù),注意域名大寫。
# 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、以命令方式設(shè)置 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 權(quán)限(可選):
# visudo
加入下列設(shè)置:
%MYDOMAIN\\domain\ admins ALL=(ALL) NOPASSWD: ALL
8、確認(rèn)是否正確加入 AD 域:
查看 AD 的相關(guān)信息
# net ads info
查看 MYDOMAIN\USERID 的使用者帳戶
# wbinfo -u
補(bǔ)充:
如果啟用 selinux 的話,需要安裝 oddjobmkhomedir 并啟動其服務(wù),這樣才能確保系統(tǒng)對創(chuàng)建的家目錄設(shè)置合適的 SELinux 安全上下文。
Linux無法加入域的原因是域名輸入方式不對,通信可能出現(xiàn)不正常。
解決方法:打開終端管理器,輸入setup,選擇運(yùn)行工具、選中全部用戶信息和驗(yàn)證、輸入正確的域名即可、選中/bin/bash這個選項(xiàng)然后選中加入域、選擇是、輸入域的管理員密碼,點(diǎn)擊確定即可。
拓展:
Linux,全稱GNU/Linux,是一種免費(fèi)使用和自由傳播的類UNIX操作系統(tǒng),其內(nèi)核由林納斯·本納第克特·托瓦茲于1991年10月5日首次發(fā)布,它主要受到Minix和Unix思想的啟發(fā),是一個基于POSIX的多用戶、多任務(wù)、支持多線程和多CPU的操作系統(tǒng)。它能運(yùn)行主要的Unix工具軟件、應(yīng)用程序和網(wǎng)絡(luò)協(xié)議。它支持32位和64位硬件。Linux繼承了Unix以網(wǎng)絡(luò)為核心的設(shè)計思想,是一個性能穩(wěn)定的多用戶網(wǎng)絡(luò)操作系統(tǒng)。Linux有上百種不同的發(fā)行版,如基于社區(qū)開發(fā)的debian、archlinux,和基于商業(yè)開發(fā)的Red Hat Enterprise Linux、SUSE、Oracle Linux等。
1.配置DNS
# vi /etc/resolv.conf
nameserver 192.168.2.30
nameserver 192.168.2.32
# vi /etc/host.conf
# nslookup 192.168.2.32 DNS查找
# net time SET 192.168.2.32 時間同步,客戶端以服務(wù)器時間為準(zhǔn)
2.samba
首先確保Linux系統(tǒng)中安裝了samba包,并用下述命令來檢查samba包的基礎(chǔ)庫支持,一般的RPM安裝都不會有問題。
# smbd -b | grep LDAP
HAVE_LDAP_H
HAVE_LDAP
HAVE_LDAP_DOMAIN2HOSTLIST
...
# smbd -b | grep KRB
HAVE_KRB5_H
HAVE_ADDRTYPE_IN_KRB5_ADDRESS
HAVE_KRB5
...
# smbd -b | grep ADS
WITH_ADS
WITH_ADS
# smbd -b | grep WINBIND
WITH_WINBIND
WITH_WINBIND
3.krb5配置
配置編輯/etc/krb5.conf,配置完成后,執(zhí)行
# kinit administrator@HXBANK.COM
4.Samba配置
編輯配置/etc/samba/smb.conf后,重啟samba服務(wù)
# service samba restart
# net ads join -U administrator@HXBANK.COM 加入域,這時需要輸入域管理員密碼
5.winbind配置
編輯/etc/nsswitch.conf,更改passwd和group為(files需視你linux系統(tǒng)配置NIS與否,如配置NIS,則為compat)
passwd: files winbind
group: files winbind
保存后(重)啟動samba服務(wù)。(重)啟動winbind。
用 wbinfo -u檢索用戶,wbinfo -g檢索用戶組來測試winbind是否正常。
1.配置DNS
# vi /etc/resolv.conf
nameserver 192.168.2.30
nameserver 192.168.2.32
# vi /etc/host.conf
# nslookup 192.168.2.32 DNS查找
# net time SET 192.168.2.32 時間同步,客戶端以服務(wù)器時間為準(zhǔn)
2.samba
首先確保Linux系統(tǒng)中安裝了samba包,并用下述命令來檢查samba包的基礎(chǔ)庫支持,一般的RPM安裝都不會有問題。
# smbd -b | grep LDAP
HAVE_LDAP_H
HAVE_LDAP
HAVE_LDAP_DOMAIN2HOSTLIST
...
# smbd -b | grep KRB
HAVE_KRB5_H
HAVE_ADDRTYPE_IN_KRB5_ADDRESS
HAVE_KRB5
...
# smbd -b | grep ADS
WITH_ADS
WITH_ADS
# smbd -b | grep WINBIND
WITH_WINBIND
WITH_WINBIND
3.krb5配置
配置編輯/etc/krb5.conf,配置完成后,執(zhí)行
# kinit administrator@HXBANK.COM
4.Samba配置
編輯配置/etc/samba/smb.conf后,重啟samba服務(wù)
# service samba restart
# net ads join -U administrator@HXBANK.COM 加入域,這時需要輸入域管理員密碼
5.winbind配置
編輯/etc/nsswitch.conf,更改passwd和group為(files需視你linux系統(tǒng)配置NIS與否,如配置NIS,則為compat)
passwd: files winbind
group: files winbind
保存后(重)啟動samba服務(wù)。(重)啟動winbind。
用 wbinfo -u檢索用戶,wbinfo -g檢索用戶組來測試winbind是否正常。