在複雜的主機與網路環境中,我們可能會接觸到多種主機與作業系統,配合Windows Server 2008 R2的原生“NFS伺服器”功能可以讓這樣的複雜作業系統更方便應用。
然而面對網路上眾多的協助指南和設定嚮導難免會造成一些操作不夠全面,本博文進行相關嘗試後對其中的匿名訪問的少支援進行一些彌補,同時也歡迎諸多網友的指正。
微軟官方網站上提供相應NFS伺服器配置指南,如果您是初次使用可以參考這個連結:http://technet.microsoft.com/zh-cn/library/cc753312.aspx
本文涉及到的Unix用戶端匿名訪問Windows提供的NFS伺服器屬於較特殊方向,因此如果在沒有較為安全的防護措施下還是非常建議您使用有身分識別驗證授權的方式進行訪問與串連;同時現有環境並沒有使用域控進行統一授權與管理,因此操作中完全是按照外掛式主控件的模式進行實踐的。
以下內容是本人在親自使用後總結的允許匿名訪問後的常見問題。
問題一:Unix用戶端進行掛載(mount)的時候出現 “Input/output error”是什麼情況?
解答:用戶端需要開啟Protmap服務;同時服務端需要設定好相應的NFS存取權限(匿名存取權限需要設定GID=-2,UID=-2),安全性原則中設定“網路訪問: 將 Everyone 許可權應用於匿名使用者”為“已啟用”,以及NFS許可權對共用目錄進行讀寫操作。
Figure 1問題一圖示,設定NFS身分識別驗證,確保匿名訪問有效
Figure 2問題一圖示,設定NFS許可權,確保共用目錄的可讀寫
問題二:用戶端掛載後提示沒有許可權(“Permission Denied”)建立檔案或檔案夾
解答:這裡面提到的沒有許可權多數是因為在NFTS的權限原則無法建立,因為使用的是Windows下本身不存在的Unix匿名賬戶ID=-2的這個“使用者”,我們需要將這個特殊的使用者ID添加到對應的NTFS存取控制許可權(ACL)裡面,這裡面我們藉助nfsfile命令(該命令需要在NFS服務角色安裝好之後方可使用)來完成。
協助命令很簡單,下表展示內容即為協助檔案資訊:
操作 NFS 檔案的服務屬性。 NFSFILE [/v] [/s] [/i[[u=<uid>]|[g=<gid>]|[wu=<account>]|[wg=<account>]]] [/r[[u=<uid>]|[g=<gid>]|[m=<mode>]]] [/c[w|x]] <filespec> /? - 此訊息 /v - 詳細 /s - 掃描子目錄尋找匹配的檔案 /i - 包括與指定標準相匹配的檔案 u <uid> - NFS 所有者 SID 匹配<uid> g <gid> - NFS 組 SID 匹配<gid> wu <account> - NFS 所有者 SID 匹配<account> wg <account> - NFS 組 SID 匹配<account> /r - 替換檔案上指定的選項 u <uid> - 設定 uid g <gid> - 設定 gid m <mode> - 將模式位設定為<mode> wu <account> - 設定 Windows 所有者帳戶 wg <account> - 設定 Windows 群組帳戶 /c - 轉換檔依據 w - Windows 樣式 ACL (已映射) x - Unix 樣式 ACL (未映射) |