linux加入windows域之完美方案

筆者這幾天在研究samba服務經過ad域進行用戶驗證。在查資料的過程當中發現。關於linux加入windows域,網上資料很多,可是按着網上的說法作大多不成功,甚至不少人估計都不知道本身在說什麼,最後一個net ads join就認爲已經成功加入到域了,但是而後呢?做爲域內的一個成員,普通的機器要能夠提供域內的用戶登錄;做爲samba服務要把共享加入到目錄中,這樣才起到加入域的做用嘛。筆者通過反覆實驗,終於把linux加入到windows域一些細節記錄下來,不敢獨享,特拿出。筆者用的linuxcentos5.3ad域爲win2k3 sp2。域爲:Rainbird.netWin2k3:Name:ad1Ip:192.168.1.241Dns:192.168.1.241Centos5.3:Name:FilesrvIp:192.168.1.246Dns:192.168.1.241Ok,let’s go!1.samba服務器軟件需求
krb5-workstation-1.2.7-19
pam_krb5-1.70-1
krb5-devel-1.2.7-19
krb5-libs-1.2.7-19
samba-3.0.5-2
[root@filesrv CentOS]# rpm -qa|grep krb5
krb5-auth-dialog-0.7-1krb5-libs-1.6.1-25.el5krb5-devel-1.6.1-25.el5pam_krb5-2.2.14-1krb5-workstation-1.6.1-25.el5[root@filesrv CentOS]# rpm -qa|grep sambasamba-swat-3.0.28-0.el5.8samba-common-3.0.28-0.el5.8samba-client-3.0.28-0.el5.8samba-3.0.28-0.el5.8若是centos在安裝的時候沒有取消默認選中的」Base」,krb5的包是默認所有安裝若是沒有選擇安裝samba能夠這樣安裝[root@filesrv CentOS]# rpm -ivh xinetd-2.3.14-10.el5.i386.rpm[root@filesrv CentOS]# rpm -ivh --aid samba*.rpm2.配置kerberossamba由於筆者用的系統爲centos因此爲保證一次成功的準確率,這裏就使用字符界面下的圖形工具來配置了。運行setup工具200909011251737043546.jpg認證配置200909011251737059531.jpg選擇:「use winbind」「use kerberos」「use winbind authertication」200909011251737075796.jpg刪除admin server 其他的改爲真實狀況Realm爲域名,KDC爲域服務器的ip200909011251737092796.jpg配置winbindDomain爲你的域的,左面第一個」.」前面的東東200909011251737111687.jpg選擇」join domain」,提示是否先保存配置信息,確定是yes了。200909011251737140218.jpg嘿嘿,看到這個畫面是否是想到了xp機器加入到域的情景?沒錯就是那個!輸入ad域的管理員密碼吧J200909011251737157468.jpg不出意外的話,你就到達了最後一個界面,確定ok,而後退出了。200909011251737173406.jpg通常來講,只要兩臺機器的時間上下不差五分鐘,且項都配置正確的話,你就會看到下面這個圖片。看到這個圖片說明你的linux成功加入到ad域啦!200909011251737191500.jpgOK,用圖形的好處就是方便快捷,可是這樣只適合rh系統。別的linux系統咋辦呢?別急。這個工具其實就是編輯如下三個配置文件:/etc/nsswitch.confpasswd:files winbind(就是先讀files 而後再經過winbind認證)shadow:files winbindgroup:files winbind/etc/krb5.conf[logging]default = FILE:/var/log/krb5libs.logkdc = FILE:/var/log/krb5kdc.logadmin_server = FILE:/var/log/kadmind.log[libdefaults]default_realm = RAINBIRD.NET(默認的域名)dns_lookup_realm = falsedns_lookup_kdc = falseticket_lifetime = 24hforwardable = yes[realms]EXAMPLE.COM = {kdc = kerberos.example.com:88admin_server = kerberos.example.com:749default_domain = example.com}RAINBIRD.NET = {kdc = 192.168.1.241:88(域服務器)kdc = 192.168.1.241}[domain_realm].example.com = EXAMPLE.COMexample.com = EXAMPLE.COMrainbird.net = RAINBIRD.NET.rainbird.net = RAINBIRD.NET[appdefaults]pam = {debug = falseticket_lifetime = 36000renew_lifetime = 36000forwardable = truekrb4_convert = false}/etc/samba/smb.confworkgroup = RAINBIRD//域名password server = 192.168.1.241//域服務器realm = RAINBIRD.NETsecurity = ads//必須啓用idmap uid = 16777216-33554431idmap gid = 16777216-33554431template shell = /bin/bashwinbind use default domain = false (改爲true)winbind offline logon = false(改爲true)template homedir = /home/%Uwinbind separator = /winbind enum users = Yeswinbind enum groups = Yes紅色部分就是工具自動修改的了,可是smb.conf修改的不完全,還不能知足咱們的要求,怎麼辦呢?手動把藍色部分加上,並把那兩個false改爲ture,而後設置samba的開機自動啓動chkconfig smb on,service smb on啓動服務,而後就是手工把linux加入到windows了[root@filesrv ~]# net ads join -U administrator@RAINBIRD.NETadministrator@RAINBIRD.NET's password:The workgroup in /etc/samba/smb.conf does not match the shortdomain name obtained from the server.Using the name [RAINBIRD] from the server.You should set "workgroup = RAINBIRD" in /etc/samba/smb.conf.Using short domain name -- RAINBIRDJoined 'FILESRV' to realm 'RAINBIRD.NET'提示「Joined」喲,不是這個提示就是有問題,再仔細檢查。OK,重啓linux,這時候用一個域用戶登錄linux若是提示用戶或密碼驗證失敗,說明你重啓以前的東西沒配置對。仔細檢查一下哪裏不對呢?200909011251737240265.jpg若是提示以下,那麼恭喜你,能夠繼續下一個話題了。200909011251737258218.jpg3.自動建立用戶目錄.用到的文件pam_mkhomedir.so/etc/pam.d/sysconf-auth文件中的sesson部分添加一行sessionrequiredpam_mkhomedir.so silent skel=/etc/skel umask=0077silent不打印建立目錄信息skel 告訴pam_mkhomedir.so拷貝/etc/skel裏的文件到新建立的目錄裏.umask 是建立的目錄的權限建立哪一個目錄是在smb.conf裏的template homedir定義的如圖:200909011251737274625.jpg保存退出,重啓一下X-window。再次用域用戶登錄,是否是成功看到了久違的linux桌面呢?200909011251737292265.jpgOk,到此爲止,linux加入windows的故事就講完了。而samba服務器經過ad域認證並實現每一個用戶500M的共享空間,且當用戶登錄windows域的時候自動掛載已經成型,近期放出,敬請期待。linux

相關文章
相關標籤/搜索