前言:
在windows環境下,如果是大型網絡環境工作組方式顯然是不能勝任的,域模式是windows的精典應用。在linux/GNU的作業系統下能不能實作域模式,把一台機器配置成DC,來替代windows server ,答案是可以的,利用samba就可以實作。不過,我覺得在功能上,易操作上沒有windows 下DC強。在上篇文章中是把ubuntu系統的計算機加入到windows域中,今天實作把windows xp系統的計算機加入到ubuntu server的域中。
實驗前要了解以下知識點:
(1)samba要用的以下兩個daemons:(摘自鳥哥私房菜)
nmbd :這個 daemon 是用來管理工作群組啦、NetBIOS name 啦等等的解析。 主要利用 UDP 協定開啟 port 137, 138 來負責名稱解析的任務;
smbd :這個 daemon 的主要功能就是用來管理 SAMBA 主機分享的目錄、檔案與列印機等等。 主要利用可靠的 TCP 協定來傳輸資料,開放的端口口為 139 及 445(不一定存在) 。
(2)計算機的NetBIOS名與主機不同,samba是建在IBM開發的NetBIOS協定上的。
在windows 下可以用nbtstat -n 來檢視目前計算機注冊的NETBIOS名,它為16字元,前15個字元可以定義,第16個不可以自定義,代表一種服務。在ubuntu 中的NETBIOS名可以在/etc/samba/smb.conf中利用netbios name設定。與此相關的有一個叫lmhosts的檔案,在windows及linux下都叫這個名。它的功能與hosts檔案相似。
環境:
(1)域名:lab.cn,域控的作業系統ubuntu server 10.4
(2)用戶端的作業系統是windows xp 專業版,不能是windows xp 家庭版;NetBIOS名為www。
操作:
1,安裝samba
#sudo apt-get install samba libpam-smbpass
2,配置samba,修改/etc/samba/smb.conf
workgroup = lab.cn
security = user
domain logons = yes
#domain logons設定決定了使用者能否利用PDC進行登入
domain Master = yes
#PDC要設定為yes,BDC要設定為no。說明看結束語内容。
gon path = \\%N\%U\profile
#登入後的使用者配置檔案存放的地方,在域控的/home/使用者名/profile目錄下
logon drive = H:
#登入後預設目錄挂載成H盤
logon home = \\%N\%U
#登入使用者的家目錄,在域控的/home/使用者名目錄下
logon script = logon.cmd
#logon.cmd一定要放在netlogon目錄下,并要注意因在linux與windows下的斷行符不同,是以在linux下寫的内容要轉換成能在windows下能識别的格式。它的作用時初始化使用者的登入環境。
<a href="http://xuchengji.blog.51cto.com/attachment/201010/23/160472_1287824988KBgT.png"></a>
<a href="http://xuchengji.blog.51cto.com/attachment/201010/23/160472_1287824989aeQV.png"></a>
<a href="http://xuchengji.blog.51cto.com/attachment/201010/23/160472_1287824989JLXz.png"></a>
#sudo mkdir –p /srv/samba/netlogon
#sudo touch /srv/samba/netlogon/logon.cmd
對smb.conf的文法是否正确時行檢查
#sudo testparm
#sudo service smbd reload
要把用戶端計算機加入到域中,需要root賬号,是以我們用smbpasswd指令建立samba使用者root
#sudo smbpasswd -a root
建立計算機賬号
#sudo useradd –M –s /bin/false –d /dev/null www$
#sudo smbpasswd –a –m www$
3,把windows xp 專業版用戶端加入到域中
<a href="http://blog.51cto.com/attachment/201010/223256169.png" target="_blank"></a>
加入域”網絡ID”或“更改”兩個按鈕都可以,我們這裡采用“網絡ID“
<a href="http://blog.51cto.com/attachment/201010/224434323.png" target="_blank"></a>
<a href="http://blog.51cto.com/attachment/201010/225525594.png" target="_blank"></a>
提示找不到計算機的賬戶,這個沒關系,再次輸入主機的NetBIOS 名,域名
<a href="http://blog.51cto.com/attachment/201010/230014311.png" target="_blank"></a>
出現以上圖示說明加入域成功。重新開機,并用域控上使用者登入,登入的方式與登入windows的域控一樣。
<a href="http://blog.51cto.com/attachment/201010/230544489.png" target="_blank"></a>
登入後能看到以下内容
<a href="http://blog.51cto.com/attachment/201010/231627916.png" target="_blank"></a>
這裡的H盤,就是使用者配置檔案的位置。此時使用者也可以更改密碼,并能同步到域控上。也可以脫離域。
結束語:
通過配置samba還學習到以下知識點:(來自網絡)
(1)什麼是浏覽(Browse):
在SMB協定中,計算機為了通路網絡資源,就需要了解網絡上存在的資源清單(例如在Windows下使用網絡鄰居檢視可以通路的計算機),這個機制就被稱為浏覽(Browse)。雖然SMB協定中經常使用廣播的方式,但如果每次都使用廣播的方式了解目前的網絡資源(包括提供服務的計算機和各個計算機上的服務資源),就需要消耗大量的網絡資源和浪費較長的查找時間,是以最好在網絡中維護一個網絡資源的清單,以友善查找網絡資源。隻有必要的時候,才重新查找資源,例如使用Windows下的查找計算機功能。
但沒有必要每個計算機都維護整個資源清單,維護網絡中目前資源清單的任務由網絡上的幾個特殊計算機完成的,這些計算機被稱為Browser,這些Browser通過記錄廣播資料或查詢名字伺服器來記錄網絡上的各種資源。
Browser并不是事先指定的計算機,而是在普通計算機之間通過自動進行的推舉産生的。不同的計算機可以按照其提供服務的能力,設定在推舉時具備的不同權重。為了保證一個Browser停機時網絡浏覽仍然正常,網絡中常常存在多個Browser,一個為主Browser(Master Browser),其他的為備份Browser。
(2)local master = yes|no
這個參數指定nmbd是否試圖成為本地主浏覽器,預設值是yes,如果設為no則samba伺服器就永遠都不會成為本地主浏覽器。但即使設定了yes,也不等于samba伺服器就會成為本地主浏覽器。隻是參與本地主浏覽器選擇。
(3)domain master = yes|no
這個參數讓nmbd成為一個域浏覽器,取得各本地主浏覽器的浏覽清單,并将整個域的浏覽清單遞交給各本地主浏覽器。
(4)preferred master = yes|no
這個參數指定nmbd是否是工作組裡的首要的主浏覽器,如果指定為yes,nmbd在啟動的時候就強制一個浏覽選擇。
(5)Domain master和local master
工作組和域這兩個概念在進行浏覽時具備同樣的用處,都是用于區分并維護同一組浏覽資料的多個計算機。事實上他們的不同在于認證方式上,工作組中每台計算機都基本上是獨立的,獨立對客戶通路進行認證,而域中将存在一個(或幾個)域控制器,儲存對整個域中都有效的認證資訊,包括使用者的認證資訊以及域内成員計算機的認證資訊。浏覽資料的時候,并不需要認證資訊,Microsoft将工作組擴充為域,隻是為了形成一種分級的目錄結構,将原有的浏覽和目錄服務相結合,以擴大Mircrosoft網絡服務範圍的一種政策。
工作組和域都可以跨越多個子網,是以網絡中就存在兩種Browser,一種為Domain Master Browser ,用于維護整個工作組或域内的浏覽資料,另一種為Local Master Browser,用于維護本子網内的浏覽資料,它和Domain Master Browser通信以獲得所有的可浏覽資料。劃分這兩種Browser 主要是由于浏覽資料依賴于本地網廣播來獲得資源清單,不同子網之間隻能通過浏覽器之間的交流能力,才能互相交換資源清單。
但是,為了浏覽多個子網的資源,必須使用NBNS名字伺服器的解析方式,沒有NBNS的幫助,計算機将不能獲得子網外計算機的NetBIOS名字。Local Master Browser也需要查詢NetBIOS名字伺服器以獲得Domain Master Browser的名字,以互相交換網絡資源資訊。
由于域控制器在域内的特殊性,是以域控制器傾向于被用做Browser,主域控制器應該被用作Domain Master Browser,他們在推舉時設定的權重較大。
本文轉自xcjgutong 51CTO部落格,原文連結:http://blog.51cto.com/xuchengji/409768