linux加入Windows域-------本人生產環境上線所用

爲何說要linux加域呢!    由於以前公司是作vmware的,而後呢,vmware的horizon桌面雲虛擬化都是經過域來管理的,開始使用的都是Windows桌面,後來開發的人員說要使用linux工做,而後linux呢又須要加入域進行管理,因此我就琢磨了幾天,百度啊,看別人的博客啊都沒有什麼很好的解決方案,我就經過結合他們的文章本身整了個完整的加域過程,以下:linux

 

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------shell

這裏域爲:vsphere.com
IP爲:172.16.124.240
我這裏linux版本爲6.7數據庫

1.linux作以下配置。。
a.修改計算機名:
vim /etc/sysconfig/network
##主機名後綴爲vsphere.com(我這裏是linux.vsphere.com),且主機名不能重複vim

b.修改DNS:
vim /etc/resolv.conf
##修改成以下內容
search vsphere.com
nameserver 172.16.124.240centos

c.刪除本機計算機解析
vim /etc/hosts(刪除裏面的全部東西,有幾行就輸入幾dd,好比有3行,3dd)安全

d. 不關閉防火牆(我這裏是iptables,7.0以前沒有firewall)作防火牆策略, 添加兩條策略,容許本機與DC之間的所有通信:
vim /etc/sysconfig/iptables
-A OUTPUT -m state --state NEW -m tcp -p tcp -d 172.16.124.240 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp -s 172.16.124.240 -j ACCEPTbash

重啓服務生效(服務不少 我直接重啓電腦,重啓命令reboot或者init 6)服務器

2.時間同步
a.編輯計劃任務,加入時間同步
vim /etc/crontab
##加入以下時間同步內容,實現每小時與服務器同步一次時間
00 * * * * root /usr/sbin/ntpdate
vsphere.com;/usr/sbin/hwclock -wsession


b.將crond服務加入到開機啓動,並當即重啓crond服務
#chkconfig crond on
#service crond restartdom


3.安裝samba和krb5:
a.安裝支持軟件(須要先配置yum源):
yum -y install pam_krb5* krb5-libs* krb5-workstation* krb5-devel* krb5-auth samba samba-winbind* samba-client* samba-swat*
##(安裝以前用rpm -qa|grep 查看是否已安裝)

b.檢查krb5相關組件是否所有安裝
#rpm -qa|grep krb
(會有5項相關內容,若是沒有直接用yum -y install krb5*把帶krb5的全部 軟件包所有安裝)

 

c.檢查samba組件是否所有安裝:
#rpm -qa|grep samba
(會有6項纔算所有安裝,默認Samba和samba-swat是沒安裝的,須要先安裝samba才能安裝samba-swat)

 

d.驗證samba基礎庫支持:(沒安裝Samba是顯示不出基礎庫的)
#smbd -b|grep LDAP

#smbd -b|grep KRB

#smbd -b|grep ADS

#smbd -b|grep WINBIND

至此,samba和krb5的基本已經安裝完成

 

加域:
a.啓動相關服務並設置開機啓動:
#service winbind start
#chkconfig winbind on

b.使用setup配置工具,並選擇「驗證配置」,選擇下面三項:
「use winbind」 ##對應的中文意思
「use kerberos」##對應中文「使用kerberos」
「use winbind authertication」 ##對應中文「使用winbind驗證」
------------------而後點擊「下一步」-----------------
域:vsphere.com
KDC:WIN-GKNVD58B4QL.vsphere.com
管理服務器:WIN-GKNVD58B4QL.vsphere.com
##並勾選下面兩個選項
(之因此以前一直加域不成功,是由於這裏的KDC須要填域控制器的名稱,這裏的域控制器是AD域的計算機名能夠到AD域裏面Domain Controllers裏面的計算機名加域名)
------------------而後點擊「下一步」-----------------
安全模型:ADS
域:VSPHERE
域控制器:WIN-GKNVD58B4QL.vsphere.com
ADS域:vsphere.com
模板shell:/bin/bash
----------------------點擊加入域---------------------
回彈出個報錯信息,這時不用理會,
而後輸入:authconfig-gtk(linux版本7.0以前纔有這個命令,7.0之後的版本這個命令被取消)

用戶帳戶數據庫:winbind
winbind域:VSPHERE(注意大小寫)
安全模型:ads
winbind ADS域:VSPHERE.COM(注意大小寫)
winbind域控制器:WIN-GKNVD58B4QL.vsphere.com
模板shell:/bin/bash
---------------------點擊加入域--------------------
這是輸入域管理員administrator和對應密碼,輸入完成後會返回驗證配置界面

而後輸入:net ads join -U administrator@vsphere.com(這裏的administrator能夠換成是域上面的任意成員)

而後會返回一個錯誤信息:大體的意思是DNS沒法自動建立更新
這時咱們就要去DNS上面手動添加一條DNS更新策略
在DNS———點擊vsphere.com———右邊會顯示不少更新條目———鼠標右鍵———新建主機———名稱:centos(個人linux主機名是centos,填對應的Linux主機名)———IP地址:172.16.124.103(對應的LinuxIP地址)———勾選容許全部通過身份驗證

回到Linux:
a.測試是否加域成功:
#wbinfo -t ##測試RPC通信,提示succeeded表示成功
checking the trust secret for domain VSPHERE via RPC calls succeeded

#wbinfo -u ##查看域用戶
(會有不少域成員)
若是有表示讀取正常

#wbinfo -g ##查看域組
(同樣會有不少域組)
若是有表示讀取正常

上訴兩個命令執行後若是能夠看到域中的用戶和組則正常。若是提示以下,則表示與域控制器同步還未完成


測試ntlm組件
ntlm_auth --username=administrator
password:##輸入密碼

驗證代域:
#net ads testjoin
Join is OK

 

b.使用域帳戶登陸
此時就可使用su - ***@vsphere.com這樣的域用戶登陸Linux服務器了,若是登陸後顯示以下:

Could not chdir to home directory /home/VSPHERE/barlowliu:No such file or directory
-bash-4.1$

##這表示沒有自動建立用戶的家目錄,下面就來解決這個問題


c.解決域用戶登陸後沒有加目錄的問題:
1.創建域用戶家目錄:
#mkdir /home/VSPHERE
#chmod 1777 /home/VSPHERE

2.編輯/etc/samba/smb.conf配置文件,添加以下一行:
(在最下面添加)
template homedir = /home/%D/%U
##修改以下一行就能夠實如今登陸時不須要輸入域名
winbind use default domain = true

3.編輯/etc/pam.d/system-auth,增長以下一行:
session required pam_mkhomedir.so skel=/etc/skel umask=0077

4.vim /etc/pam.d/sshd 統一增長上面一行:
session required pam_mkhomedir.so skel=/etc/skel umask=0077

完成後就可使用域帳號正常登陸了,可是還須要配合安全要求,設置每臺容許SSH登陸和容許運行su和sudo命令的用戶

相關文章
相關標籤/搜索