歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux綜合 >> Linux資訊 >> 更多Linux

構建沒有NT服務器的NT域

 作者:楊鵬    國內用戶的中小型網絡大量采用了Windows NT作為網絡操作系統(NOS),提供諸如用戶管理、文件共享等基本網絡服務。如果出於工作上的考慮,必須使用Windows NT域模型來管理網絡,同時出於性能、經濟或者其它方面的考慮,又想放棄NT那樣復雜的管理、昂貴的許可和不太高的效率,那麼就請進入自由的Samba世界!Samba是一套自由的、開放源代碼的軟件。一位傳說中的高手,依據Windows網絡的基本協議——SMB(Server Message Block),編寫了一套將Unix系統與Windows網絡完全融合的軟件。因為Samba剛好包含S、M、B三個字母,所以這一整套系統被命名為Samba。     Samba與Windows網絡      Windows系列操作系統通過“網上鄰居”提供了便捷的網絡資源訪問。這實際上是Windows浏覽服務(請勿與Internet上的Web浏覽混淆)提供的支持。Windows浏覽服務基於NetBIOS(名字),每台Windows主機都會向網絡發送Windows浏覽信息,並保留一份網絡主機名單。這樣,當打開網上鄰居的時候,就可以看見所有機器的NetBIOS名字。由於這份名單定時更新,所以當某些機器關機後,我們仍然能夠在網上看見它。       在域模式出現以前Windows網絡是基於工作組的,每台主機都要負責維護自己的用戶名/密碼,以及共享資源認證。這樣難於保證網絡的安全和性能,而且訪問不同機器的不同資源都要提供相應的密碼,非常繁瑣和低效。根據商業用戶對安全和工作效率的要求,Windows商業網絡提出了域的概念。在帶有域的Windows網絡中,主域控制器自動成為主浏覽服務器,負責提供並維護這份名單,其它Windows NT機器可以競選成為輔助浏覽服務器協助工作。域提供統一的安全措施,所有用戶的認證和資源共享工作由主域控制器進行管理,可以實現整個域內一次認證、處處通行的目的。       Samba是一套自由的、開放源代碼的軟件,雖然無法公開得到應有的技術資料(因為SMB協議是私有的),但它還是逐步發展起來。現在,Samba已不是簡單的Unix/Linux與Windows間的橋梁,它可以讓Unix系統代替NT主域控制器管理整個Windows網絡。這樣,我們不需要真正的NT服務器,也可以構建真正的Windows 域網絡。       Samba能夠模仿NT PDC向網絡發送PDC競選消息,並允許Windows客戶機登錄,就像一台NT PDC所做的那樣。它會在啟動時告訴其它Windows機器:我是主域控制器,登錄認證找我好了。此時域中就不能再有其它聲明為PDC的NT Server了,否則會導致PDC競選失敗,並且Samba必須提供域登錄,這樣Windows客戶才能在啟動時輸入用戶名、密碼和域名登錄到域。需要注意的是,此時的安全級別必須是user,因為server和domain級別的認證都需要其它服務器配合,而PDC卻只有一個。這樣,實際上使用了本地密碼,最後出於安全的考慮必須使用加密密碼。     服務器的配置      下面是Linux下作為PDC的Samba服務器的基本配置:         [global]     …… 其它全局參數 ……       workgroup = Samba.net     netbios name = PDC          securety = user     domain logons = true     encrypt passWords = true     domain master = true     preferred master = true     local master = true     ……          domain login表示Samba提供客戶機的域登錄;encrypt passwords表示使用加密的密碼;domain master表示Samba宣告自己是這個域的主域控制器;preferred master則是附加的競選選項;local master讓Samba不但提供域浏覽,也提供本地浏覽服務。       這樣配置以後,根據NT域管理還要添加域用戶。這個步驟很簡單:       首先創建一個本地Unix賬號:         useradd -r myaccount          這條命令創建了一個名為myaccount的普通Unix用戶。       然後根據它創建一個Samba用戶:         smbadduser myaccount:mysmbact          或者是:         smbpasswd -a myaccount        客戶端設置      普通的Windows 9X(95/ME)客戶端設置非常簡單,因為完全不需要設置就可以正常登錄到Samba.net域。它根本不知道域控制器已經由NT Server變成了Samba Server。它可以執行登錄腳本,可以應用系統策略和用戶配置文件,以及其它需要在NT Server上完成的所有事情。       如果客戶端是NT 4.0/2000就麻煩一點,因為NT的域認證基於機器信任賬號來進行。所以必須在Samba服務器上先創建機器賬號。下面以一個名為w2000的計算機為例(由於這部分NT和2000差別不大,我們通稱為NT):         useradd -d /dev/null -r w2000$ -s /bin/false          我們創建了一個Unix本地賬號,出於安全考慮不需要它登錄到Linux進行任何操作,因此它的用戶目錄是/dev/null,Shell是/bin/false。       然後,我們就可以用smbpasswd創建相應的Samba機器賬號:         smbpasswd -a -m w2000          其中,-a是添加,-m是機器信任賬號。這樣,依據w2000$的Unix賬號創建了一個NT域的機器信任賬號w2000。      如果在安裝NT時加入Samba域,可以直接選擇將機器加入到域中,但最好不要選擇在域中添加計算機賬號。因為這樣必須在Linux上設置相應的執行腳本,對初學者來說不但麻煩,而且極易出錯。       如果在已安裝的NT工作站上重新加入到域,會要求提供可在域中添加賬號的用戶名和密碼,比如普通NT Server上的Administrator,在Samba服務器上可以用root組的成員來完成這一操作。如果不敢確定,我們可以創建一個root的Samba賬號:         smbadduser root:root          輸入兩遍口令。       這樣,Samba的工作就完成了,在NT客戶端上執行更改用戶或網絡ID(Win2000),輸入用戶名(Samba密碼文件中必須存在這個用戶)、域和密碼,就會加入到Samba域。如果要提供可以添加賬號的用戶名,使用前面的root即可。     結束語      通過Samba PDC,我們可以將Windows網絡管理全部納入Linux之中,從而利用Linux配置、管理靈活的特點,可以方便地實現文件共享認證、打印機共享和其它一些常用的功能。       由於SMB協議的性質,Samba開發小組無法獲得協議細節。因此,目前的Samba PDC對較為復雜的域結構支持尚不夠完善。       例如,它不支持其它Windows NT服務器作為備份域控制器(BDC)。也就是說,域中只能存在一個域控制器。在大型網絡中,大量的認證會話可能會影響服務器性能。       另外,它在客戶端對文件共享進行管理時可能存在一些問題,而且不支持多主域結構,無法建立兩個域之間的信任關系。我們相信這些問題都會被一一解決。  




 



Copyright © Linux教程網 All Rights Reserved