Windows Server 2000 - 利用 Cygwin 架設 NFS Server

1、前言

Cygwin 是一套能在 Windows 系統上提供 UNIX 環境,由 Red Hat 公司 (本來是 Cygnus 公司但被 Red Hat 公司購併) 所開發,它的功能為提供程式所需 UNIX 系統呼叫及環境函式庫,方便程式設計師來撰寫 Win32 控制台或是 GUI 的應用程式,所以我們可很輕易的將許多有用的 UNIX 程式,不需改變就能直接在視窗平台上使用。



本次實作為利用 Cygwin 安裝 NFS-Server 套件,使 windows 2000 server 成為 NFS Server,不過利用 Cygwin 所架設的 NFS-Server 為 NFSv2 也就是會有資料 2GB 的限制為比較麻煩的地方。


文章目錄

1、前言
2、實作環境
3、安裝及設定
          步驟1.安裝相關套件
          步驟2.初始 NFS Server 設定
          步驟3.分享設定及安全性設定
          步驟4.服務啟動
4、參考



2、實作環境

  • Windows 2000 Server SP4
  • vim 6.3-1
  • nfs-server 2.3-2
  • sunrpc 4.0-3
  • cygrunsrv 1.10-1



3、安裝及設定

如何安裝 Cygwin 請參考 永遠的 Unix - cygwin 搭建蜜罐实例,所以如何安裝便不在此文章內多作說明。


步驟1.安裝相關套件

安裝以下套件以達成 Windows 2000 Server 提供 NFS Server 的功能。
Adding Editors\vim 6.3-1
Adding Net\nfs-server 2.3-2
Adding Utils\sunrpc 4.0-3
Adding Admin\cygrunsrv 1.10-1



步驟2.初始 NFS Server 設定

先檢查一下 NFS-Server 套件是否安裝完成。
cygcheck -l nfs-server
查看一下 NFS-Server 安裝設定文件。
less /usr/share/doc/Cygwin/nfs-server-2.3-1.README
初始設定 nfs-server-config。
/usr/bin/nfs-server-config
 grep: /usr/share/doc/Cygwin/nfs-server-2.3-1.README: No such file or directory
 This script sets up a default configuration for running an NFS server under
 Cygwin.  As part of this setup, the script will do the following:
  1) Create a user account to run the services under [OPTIONAL]
  2) Install portmap, mountd, and nfsd as Windows services
  3) Create a sample exports file
  4) Create a sample uid/gid mapping file.
 After installing, please read the nfs-server README for Cygwin:
  /usr/share/doc/Cygwin/nfs-server-2.3-1.README
 This document contains notes on installation and documents known problems
 and workarounds with the NFS server, ex:
 Do you want to continue? (yes/no) yes  //請鍵入 yes
 You can choose to install the services so that they run under the local system
 account, or under a separate user account.  Which option you should choose
 depends on which version of Windows you are running:
 Windows 2000 : You may run nfsd under either a local system account or
                  a separate user account.  You _probably_ want to run under
                 the local system account.
 Windows XP   : You _must_ run nfsd under a separate user account.
If you choose to run nfsd under a separate user account, you will be prompted
for an user name and password.  If the user name you supply does not exist,
it will be created.
Do you want to run nfsd under a separate user account? (yes/no)
Installing portmap service...
Installing mountd service...
Installing nfsd service...
Creating sample /etc/exports file...
Creating sample /etc/nfs/server.map file...
/usr/bin/nfs-server-config: line 223: UID: readonly variable



步驟3.分享設定及安全性設定

設定分享的資料夾。
vi /etc/exports     //backup資料夾須先建立
 /backup 192.168.79.0/255.255.255.0(rw)

安全性設定。
vi /etc/hosts.allow
 portmap : 127.0.0.1 : allow                    //允許本機可存取
 portmap : 192.168.1.0/255.255.255.0 : allow    //允許此網段可存取
 portmap : ALL : deny

設定好分享後記得 showmount 一下,若出現下列錯誤訊息則是因為 portmap 服務還沒啟動,所以會跟你說 rpc 有問題。
/usr/sbin/showmount
 mount clntudp_create: RPC: Port mapper failure - RPC: Unable to receive



步驟4.服務啟動

啟動服務。
cygrunsrv -S portmap
cygrunsrv -S mountd
cygrunsrv -S nfsd

停止服務。
cygrunsrv -E portmap
cygrunsrv -E mountd
cygrunsrv -E nfsd

顯示服務狀態。
cygrunsrv -Q portmap
cygrunsrv -Q mountd
cygrunsrv -Q nfsd




4、參考