1.實驗平臺:Ubuntu11.10(實驗未取得成功,有待於研究)ios
2.實驗名稱:PDC服務器的搭建vim
3.PDC簡介: Primary Domain Controller (PDC)windows
讓samba PDC 成爲整個局域網的域管理員(domain controller),而後讓windows主機加入這個域,將來用戶利用windows登陸時,windows會前往PDC服務器取得用戶的帳號和密碼,同時PDC還會傳送用戶的重要數據到那臺windows我的計算機上,而windows用戶註銷時,該用戶的數據也會返回給PDC。centos
4.PDC的主要內容:安全
domain:lan服務器
servername:lyang-vbox1網絡
信任主機:liuyang-PC$dom
信任用戶:administrator 、root 、lyang網站
至少所須要的共享資源:netlogon 、 profile 、用戶主目錄ui
5.設置流程:
6.PDC 服務器的建置:
建置 NetBIOS 與 IP 對應的數據:設定 lmhosts 與 /etc/hosts(Ubuntu11.10沒有在/etc/samba/下發現lmhosts)
[root@www ~]# vim /etc/samba/lmhosts 127.0.0.1 localhost <==這行是預設存在的,不要動他,底下的請自行新增 192.168.2.3 liuyang-PC 192.168.2.4 lyang-vbox1 [root@www ~]# vim /etc/hosts 192.168.2.3 liuyang-PC |
假設咱們要讓 PDC 客戶端登入時能夠取得他本身的家目錄,那麼須要這樣處理:
[root@www ~]# vim /etc/samba/smb.conf [global] workgroup = lan <==請務必確認一下工做組與主機名 netbios name = lyang-vbox1 server string = This is lyang's samba server unix charset = UTF-8 display charset = UTF-8 dos charset = cp936 |
上面的設定有幾個地方比較有趣一點:
先來創建 [netlogon] 內所須要的數據好了,那就是一個目錄。因爲鳥哥預計將全部的 PDC 數據統統放置到 /winhome 當中,包括用戶家目錄,所以不少東西都須要修訂喔!包括後來的 SELinux 確定會出問題的~
[root@www ~]# mkdir -p /winhome/netlogon
|
接下來咱們還得要創建容許使用者執行的檔案,就是那個 startup.bat 才行! 注意一下,咱們這裏假設用戶家目錄爲 K 槽,那你能夠這樣作:
[root@www ~]# vim /winhome/netlogon/startup.bat net time \\vbirdserver /set /yes net use K: /home # 這個檔案的格式爲:net use [device:] [directory] # 再將該檔案轉成 DOS 的斷行格式才行!由於是提供給 Windows 系統嘛! [root@www ~]# yum install unix2dos [root@www ~]# unix2dos /winhome/netlogon/startup.bat [root@www ~]# cat -A /winhome/netlogon/startup.bat net time \\vbirdserver /set /yes^M$ net use K: /home^M$ # 瞧見嗎?會多出個奇怪的 ^M 符號,那就是 Windows 斷行字符。 |
由於鳥哥預計將使用者所有挪到 /winhome 底下,並且每一個用戶家目錄應該還要有 profile 目錄存在才行, 爲了不麻煩,因此咱們先到 /etc/skel 去處理一下,而後才創建帳號,最後才產生 samba 用戶吧! 產生 samba 用戶可使用 pdbedit 也可以直接使用 smbpasswd -a ,由於沒有要用特殊的參數, 因此,Samba 用戶就用舊的 smbpasswd 來處理便可。
[root@www ~]# mkdir /etc/skel/profile [root@www ~]# smbpasswd -a root [root@www ~]# pdbedit -L root:0:root # 重點是須要有畫底線的那幾我的物出現才行呦! [root@www ~]# ll /winhome drwxr-xr-x. 2 root root 4096 Jul 29 16:48 netlogon # 用戶的家目錄不是在 /home 而是在 /winhome 裏頭纔是對的呦! |
注意:在Ubuntu11.10下useradd和adduser是不同的,這裏咱們須要adduser --home /winhome/administrator administrator
pdvedit -a -u administrator
那之後新增的使用者都有能夠存放來自 Windows 的特殊配置文件目錄喔!比較好管理囉~ 固然啦,使用 useradd 新增使用者後,記得也要使用 smbpasswd -a username 來讓該使用者可使用 Samba 喔!
因爲 PDC 會針對 Windows 客戶端的主機名 (NetBIOS name) 進行主機帳號檢查, 因此咱們也要爲客戶端的主機名進行帳號的設定。咦!啥是主機帳號? 通常用戶帳號是英文或數字,主機帳號則在該帳號最後面加上一個錢字號『$』便可! 舉例來講, Lyang-PC這部主機可設定的帳號名稱爲 Lyang-PC$。
而咱們知道要使用 smbpasswd 增長的使用者必需要在 /etc/passwd 當中,所以要創建這個帳號你就得要這樣作:
[root@www ~]# useradd -M -s /sbin/nologin -d /dev/null Lyang-PC$
|
會增長 -M -s -d 等參數的緣由是由於不想要讓這個帳號具備能夠登入的權限, 所以將這個主機帳號設定的比較怪一點~ ^_^~接下來讓 Samba 知道這個帳號是主機帳號,因此你應該要這樣作:
[root@www ~]# smbpasswd -a -m Lyang-PC$
|
這樣便加入主機帳號囉!而咱們的 Samba PDC 也就能夠透過『主機帳號』來判斷 Windows 客戶端可否連上來, 若鏈接上 PDC 與 Windows 客戶端後,接下來通常使用者帳號就能夠在 windows 客戶端登入了!
因爲咱們創建的帳號目錄在 /winhome 底下,並不是正規的 CentOS 目錄,因此最重要的 SELinux 可能會跑掉~ 因此,咱們還得要修訂 SELinux 才行!方法很簡單,將 SELinux type 轉爲 samba_share_t 便可!
[root@www ~]# chcon -R -t samba_share_t /winhome
|
因爲 SELinux 的數據是會繼承上層目錄的,所以將來新增的用戶,理論上,就不須要從新修訂 SELinux 的文件類型了。 可是,若是你總是發現登入 PDC 的帳號卻沒法取得家目錄,那麼就觀察 /var/log/messages 內的資料來修訂吧!
16.4.3 Wimdows XP pro. 的客戶端(一下爲參考,沒有時間操做過,win7實驗失敗)
請注意,底下的方法僅適用於 Windows 2000, Windows XP 專業版 (Pro.),通常的 Windows XP home 版本是不支持的! 若是你客戶端的主機是隨機版的 Windows XP ,一般是 Windows XP home ,那底下的方法可能就沒法適用囉! 要鏈接上 Samba PDC 的過程也是挺簡單的,你能夠這樣作: (至於 Windows 7 對於 Samba 的版本要求較高,官方網站是說得高於 3.3.x 以上版本纔有支持)
首先咱們必需要確認 Windows 客戶端的工做組與主機名跟我們的 Samba PDC 相同, 確認的方式在局域網絡裏面已經提過了,這裏在強調一次。將鼠標移動到『個人計算機』上面,按下右鍵, 選擇『內容』,而後點選『計算機名稱』,會出現以下圖示:
如上圖所示,你要先確認箭頭 1 處指的主機名與工做組,在咱們這個案例當中的工做組爲 vbirdhouse, 這部 Windows 主機的 NetBIOS 名稱則爲 vbirdwinxp 喔!若是不對的話,請按下『變動』來設定, 而且從新啓動。從新啓動完畢後再到上圖的畫面當中,按下箭頭 2 所指的網絡識別處。
接下來咱們要設定這部 Windows XP pro. 要連接到局域網絡上的哪部 PDC 上面,亦便是處理主機帳號以及 Samba PDC 負責的網域 (domain) 啦!在圖 16.4-2 按下『網絡識別』後,分別在出現的窗口當中選擇:
而後就會出現以下的窗口:
請依序填寫 Samba 主機上面的管理員帳號與密碼,要注意這個密碼是記錄於 Samba 中的那個,可不是 /etc/shadow 喔!別搞混了~這是 Samba 服務器的設定呢。輸入以後按下一步吧,一般都會出現找不到正確主機的畫面,以下所示:
鳥哥也以爲很奇怪,總是告訴我找不到!不過沒有關係,這裏咱們依舊再填一次主機的 NetBIOS name 以及組名, 如上圖所示,而後繼續按下一步,就會出現以下的畫面啦:
此次就給他輸入正確的管理員帳號與密碼,記得最後面的網域就是工做組名稱,別寫錯了。 處理完畢後給他按下肯定吧!而後就會出現以下畫面:
恭喜你,這就表示已經鏈接上 Samba PDC 囉!咱們但願全部的使用者都直接由 Samba PDC 控管,因此這裏請填寫 『此時不新增使用者』吧!按下一步去。
在圖 16.4-6 以後請從新啓動,開機後整個畫面會有點相似這樣:
爲了保護咱們的系統,所以得要按下 [ctrl]+[alt]+[del] 三個組合按鍵後,纔會出現以下的登入畫面:
目前系統上面就會有兩個可選擇的帳號管理模式,一個是本機帳號一個是 PDC 提供的帳號,那我怎知登入者是哪一個管理模式? 因此你就得要按下上述畫面的『選項』,纔會出現『登入到』的那一行數據。出現的兩個數據分別是:
如今請輸入你在 Samba PDC 上面擁有的帳號與密碼來嘗試登入吧!那若是你輸入的帳號密碼是對的,卻發現以下的畫面時, 確定是某些檔案權限或者是 SELinux 設定錯誤!請參考 /var/log/messages 或 /var/log/samba/* 裏面的登陸檔來修改!
若是你能夠順利登入的話,打開檔案總管後應該能夠看到相似下方的畫面:
呵呵!該連上的統統連結上來囉!你也能夠在本身的家目錄 (K 槽) 新增移除數據的!是否很不錯啊! ^_^! 而當你註銷以後,你在 Windows 桌面上頭所進行的各項我的化設定統統會被移動到 /winhome/dmtsai/profile 當中喔! 若是不相信的話,請自行前往 Samba 服務器上頭瞧一瞧就知道了。
根據 SAMBA 官網的說明,支持 Windows 7 的 Samba 版本必需要高於 3.3.x 才行,還好,咱們的 CentOS 6.x Samba 版本真的是高於 3.3.x 的 3.5.x,所以理論上是支持 Windows 7 的!只不過 Windows 7 要加入 Samba PDC 還得要修改註冊碼才行!這部份真的是給它很困擾!在 Windows 7 機碼的修改方面,主要是修改底下的機碼:
# 1. 這個部分是進行『新增』機碼!
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\LanmanWorkstation\Parameters]
「DomainCompatibilityMode」=dword:00000001
「DNSNameResolutionRequired」=dword:00000000
|
修改的方式爲,在 Windows7 的執行裏面輸入『 regedit 』,會出現以下的畫面:
先由 (1)左側窗口一層一層點選到咱們所須要的目標去,而後 (2)觀察最底下的機碼順序看對不對。以後 (3)在右側窗口點選咱們所須要的機碼,若是是要新增,那就是在右側空白處右鍵單擊選新增便可增長一組機碼名稱。最後 (4)雙擊機碼會出現可供修改的窗口,那就改爲上面表格中的要求便可。更多關於 Windows 7 加入 PDC 的相關資料, 請查閱文末的參考數據部分喔。
等到將機碼修訂完畢,你就可使用與 Windows XP 相同的方式來加入 PDC 囉!
若是總是發生錯誤訊息爲『使用的賬戶是計算機賬戶。請使用你的通用用戶賬戶或本機用戶賬戶來存取這臺服務器』時, 你能夠這樣作的:
在鳥哥嘗試過的案例中,上面第二個步驟挺有效的!不過,仍是得要察看 /var/log/samba 裏面的登陸信息才行喔!
雖然 PDC 很好用,不過你要注意的是,每次你使用 PDC 上頭的帳號登入 Windows 客戶端主機時, Windows 主機會由 /winhome/username/profile/ 當中加載所須要的數據, 並暫時啓動一個文件夾在 Windows 系統的 C:\Documents and Settings\username 當中,若是你的家目錄下的 profile 數據太多時, 光是傳輸就會花去不少時間的!
因此,你應該將一些檔案數據放置到你的家目錄下,亦即 K 槽當中,儘可能不要使用 Windows 預設的『個人文檔夾』, 由於『個人文檔夾』會將數據移動到『 /winhome/username/profile/My Documents/ 』目錄下,一樣的, 儲存到桌面的數據會被放置到『 /winhome/username/profile/桌面/ 』目錄中,那樣在登入與註銷時會花去不少時間喔! 這個小地方也要注意的呢! ^_^
好了,關於 SAMBA 的 PDC 做法咱們就談到這裏,還有更多的信息你能夠前往這個章節最後面的參考數據所列出的網址去查閱, 由於還有不少的做法吶!事實上,鳥哥以爲在一個網域當中,若是有多部的 Windows NT 主機,例如 Windows 2000/XP pro. 這一類的比較穩定的我的使用桌面版本時,使用 PDC 就頗有用了!由於 Windows 2000/XP pro. 也是一個多人的操做系統,不像 Windows 98 是單人的操做系統。因此,當使用 Windows 2000/XP pro. 而沒法登入 PDC 時,你是沒法使用 Windows 2000/XP pro. 上面的任何的信息的。 可是在 Windows 98 上面若沒法正確的登入,你仍然具備該計算機的主控權喔!
另外,設定 Windows 客戶端以前,請先確認你的 Windows 是什麼版本? 上述的動做對於 Windows XP 家用版 (Home), Windows 7 是沒有做用的!請先確認才行喔!