Windows Server 2000 - 利用 Windows Services for UNIX (SFU) 架設 NFS Server

1、前言

以下前言內容轉載自 台灣微軟 2004 年 4月 NEWS

(2004 年 4 月 12 日,台北) 台灣微軟公司今 (十二) 日宣佈推出 UNIX 互通性產品最新版本-Windows® Services for UNIX 3.5 版 (SFU 3.5),客戶可至 http://www.microsoft.com/windows/sfu/ 免費下載。


SFU 3.5 將 Windows 與 UNIX 完全整合於同一 IT 環境中,以提供完善的跨平台服務,進而幫助客戶降低成本,並且提升本身 IT 資源的執行效能。其中,網路檔案系統 (Network File System,NFS) 因獲得大幅改善而有更佳的效能表現,也讓使用者在 Windows 和 UNIX 系統間能更順暢地存取檔案。同時,透過 SFU 3.5 中改善後的雙向密碼同步處理、使用者名稱對應和 Server for Network Information Service (NIS),企業更能利用 Windows Server 2003 Active Directory 目錄服務將 UNIX 和 Windows 平台上的目錄服務整合或集中。如此一來,目錄管理變得更簡易並節省資源成本。

SFU 3.5 內含全新的工具,可使跨平台環境的管理更具成本效益。例如:SFU 3.5 包括了用於管理 Windows 平台的 UNIX 工具與公用程式擴充系列,讓企業能善用 UNIX 專長的 IT 管理員,使其得以在 Windows 平台上發揮。另一項新功能則是動態登錄,此功能可讓網路管理員進行某些變更,例如:進行網路效能調整時,即使重新開機也不會產生停機的問題。

SFU 3.5 內含增強型 Interix 子系統和軟體開發套件 (Interix)。Interix 是一套完整的應用程式執行子系統,可讓客戶於 Windows 作業系統上編譯並直接執行 UNIX 程式和指令碼。客戶可使用 Interix 透過 Windows 平台執行 UNIX 應用程式以獲得更佳的使用體驗與價值。微軟也完成 Interix 能支援執行多重應用程式的擴充功能。

本次實作為利用 Windows 2000 Server 安裝 SFU 3.5 的 Server For NFS 功能,讓 Windows Server 成為 NFS Server,而 NFS Client則為 FreeBSD,關於 NFS Client 設定此篇不在多說請參考站內文章 NFS Client 的設定 即可。





文章目錄

1、前言
2、實作環境
3、安裝及設定
          步驟1.準備 Windows 及 FreeBSD 間 Uid 及 Gid 的對應
          步驟2.安裝 SFU Server for NFS
          步驟3.建立 Windows 及 FreeBSD 間 Uid 及 Gid 的對應
          步驟4.安全性設定
4、補充.Client For NFS 使用
5、參考
6、Me FAQ
          Q1.無法使用 NFS Sharing?
          Q2.安裝 SFU 後開機看事件檢視器出現警告訊息?
          Q3.Ntoskrnl.exe 遺漏或損毀,請重新安裝檔案的拷貝?





2、實作環境

  • Windows 2000 Server SP4
  • SFU 3.5





3、安裝及設定

步驟1.準備 Windows 及 FreeBSD 間 Uid 及 Gid 的對應

為方便日後的作業,我們需先建立 Windows 及 FreeBSD 間 Uid 及 Gid 的對應關系,因此需要 FreeBSD 的 /etc/passwd 及 /etc/group 檔案,並放置到 C:\WINNT\system32\drivers\etc 目錄下我只對應 root 及 wheel 而以因此內容如下,當 SFU 安裝完成後我們會設定對應 Windows 及 FreeBSD 帳號及群組的對應,也就是 Windows 本機帳號 Administrator 對應到 FreeBSD 的 root 而 Windows 本機群組 Administrators 對應到 FreeBSD 的 wheel (如下表格所示)。


帳號部份,將下列內容存檔為檔案名稱 passwd,並放置於 C:\WINNT\system32\drivers\etc\passwd 檔案當中。
# $FreeBSD: src/etc/master.passwd,v 1.39 2004/08/01 21:33:47 markm Exp $
#
 root:*:0:0:Charlie &:/root:/bin/csh

群組部份,將下列內容存檔為檔案名稱 group,並放置於 C:\WINNT\system32\drivers\etc\group 檔案當中。
# $FreeBSD: src/etc/group,v 1.31 2004/06/23 01:32:28 mlaier Exp $
#
 wheel:*:0:root




步驟2.安裝 SFU Server for NFS

1. 下載 SFU35SEL_EN.exe 後解壓縮執行 SfuSetup.msi 開始安裝,準備 SFU 安裝請按 Next 繼續。


2. 填寫使用者名稱及組織。


3. 版權宣告,選擇同意後按 Next 繼續。


4. 選擇自訂安裝 (因為我只要安裝 Server for NFS)。


5. 只安裝 Server for NFS Authentication 和 Server for NFS 兩項。


6. 選擇使用 password 及 group 檔案型式 (配合上述步驟 1 的設定)。


7. 指定 password 及 group 檔案存放路徑。


8. 安裝完成後可依下列步驟開啟 SFU 管理介面。點選左下角【開始】 > 【程式集】 > 【Windows Services for Unix】 > 【Services for Unix Administration】。




步驟3.建立 Windows 及 FreeBSD 間 Uid 及 Gid 的對應

開啟 SFU 管理介面後,選擇 User Name Mapping 選項進入帳號設定介面,我們開始來設定 Windows 及 FreeBSD 之間帳號及群組的對應關系

設定 帳號 對應部份:
  1. 按下 【List Windows Users】選擇【Administrator】。
  2. 按下 【List UNIX Users】選擇【root】。
  3. 按下 【Add鍵】建立帳號對應。


設定 群組 對應部份:
  1. 按下 【List Windows Groups】選擇【Administrators】。
  2. 按下 【List UNIX Groups】選擇【wheel】。
  3. 按下 【Add鍵】建立群組對應。


建立完成後只須選擇【想分享的目錄或磁碟機】\【右鍵】\【內容】\【NFS Sharing】即可分享,在 FreeBSD 下打 showmount 指令來查看是否能看到 NFS Server (Windows) 所分享的目錄。



步驟4.安全性設定

因為預設 NFS Sharing 權限是任何機器皆可讀取或讀取加寫入,因此我們可以指定的特定的機器才能寫入 NFS Server 所分享的目錄。

開啟 SFU 管理介面,至【Client Groups】選項後,在【Group Name】輸入wheel後按下【New】,代表允許 wheel 群組可以存取。在【Add Clients】欄位輸入能存取的機器電腦名稱 (這裡指的 Clients 是機器的電腦名稱而不是帳號)。


設定權限在【NFS Sharing】\【Permission】中【Add】我們所增加的群組 【wheel】 並給予讀取加上寫入的權限。






4、補充.Client For NFS 使用

若這台是要當 NFS Client 那要如何使用 NFS Server 的資源?其實一樣的道理把 NFS Server 分享出來的資源 Mount 來當連線磁碟機,下列指令相關參數說明:
  • NFS Server:192.168.1.10
  • NFS Share:/home/video
  • 連線網路磁碟機: E:
C:\SFU\common\mount.exe 192.168.1.10:/home/video E:\





5、參考






6、Me FAQ

Q1.無法使用 NFS Sharing?

Error Message:
當我都安裝 SFU 3.5 也設定了,但當我設定好 NFS Sharing 按下確定時卻無效,若是按套用更可看到本來是分享的設定卻跑到上面選項取消分享?

Ans:
剛好有打開 SFU Even Log功能,去看了一下 Log 後發現,狀況是因為剛好有機器一直對這台 NFS Server 要求 Mount 造成被 Q 住,只要去把 NFS Client 的 Mount 要求先關閉再來設定 NFS Sharing 應該就能很順利的設定了。



Q2.安裝 SFU 後開機看事件檢視器出現警告訊息?

Error Message:

Ans:
還不知道如何解決,指點一下吧。



Q3.Ntoskrnl.exe 遺漏或損毀,請重新安裝檔案的拷貝?

Error Message:
Windows 2000 Server 無法正常開機了,按下 F8 想進安全模式卻出現如下錯誤訊息
下列檔案遺漏或損毀,無法啟動 Windows NT:
 Winnt_root\System32\Ntoskrnl.exe
請重新安裝一份上列檔案的拷貝

Ans:
引起的原因可參考「Windows NT 無法啟動...Ntoskrnl.exe」錯誤訊息我的狀況就是這樣
如果系統資料分割大於 7.8 GB,且系統開機檔案被放置在 7.8 GB 限制範圍外 (可能因為套用 service pack 或磁碟重組所導致的結果)
磁碟重組也會這樣?我的狀況就是磁碟重組後重開機我的 Windows 2000 Server 就爛了~~Orz,不過好運我照如下步驟就搞定了 "ntoskrnl.exe が存在しないか壊れている" と表示されて Windows XP を起動できない場合の対処方法
  1. 插入 Windows 2000 Server 安裝光碟。
  2. 按 【R】 進入修復程序。
  3. 按 【1】 進入【C:\WINNT】。
  4. 切換目錄【cd system32】。
  5. 檔案更名【ren ntoskrnl.exe ntoskrnl.abc】。
  6. 複製【copy C:\WINNT\Driver Cache\i386\ntoskrnl.exe C:\WINNT\SYSTEM32\】。
  7. 離開【exit】。