可以對服務器硬盤上的任何文件進行讀、寫、復制、刪除、改名等操作(當然,這是指在使用默認設置的 Windows NT / 2000 下才能做到)。但是禁止此組件后,引起的后果就是所有利用這個組件的 ASP 將無法運行,無法滿足客戶的需求。 如何既允許 FileSystemObject 組件,又不影響服務器的安全性(即:不同虛擬主機用戶之間不能使用該組件讀寫別人的文件)呢?這里介紹本人在實驗中獲得的一種方法,下文以 Windows 2000 Server 為例來說明。 在服務器上打開資源管理器,用鼠標右鍵點擊各個硬盤分區或卷的盤符,在彈出菜單中選擇“屬性”,選擇“安全”選項卡,此時就可以看到有哪些帳號可以訪問這個分區(卷)及訪問權限。默認安裝后,出現的是“Everyone”具有完全控制的權限。點“添加”,將“Administrators”、 “Backup Operators”、“Power Users”、“Users”等幾個組添加進去,并給予“完全控制”或相應的權限,注意,不要給“Guests”組、“IUSR_機器名”這幾個帳號任何權限。然后將“Everyone”組從列表中刪除,這樣,就只有授權的組和用戶才能訪問此硬盤分區了,而 ASP 執行時,是以“IUSR_機器名”的身份訪問硬盤的,這里沒給該用戶帳號權限,ASP 也就不能讀寫硬盤上的文件了。 下面要做的就是給每個虛擬主機用戶設置一個單獨的用戶帳號,然后再給每個帳號分配一個允許其完全控制的目錄。 如下圖所示,打開“計算機管理”→“本地用戶和組”→“用戶”,在右欄中點擊鼠標右鍵,在彈出的菜單中選擇“新用戶”:
在彈出的“新用戶”對話框中根據實際需要輸入“用戶名”、“全名”、“描述”、“密碼”、“確認密碼”,并將“用戶下次登錄時須更改密碼” 前的對號去掉,選中“用戶不能更改密碼”和“密碼永不過期”。本例是給第一虛擬主機的用戶建立一個匿名訪問 Internet 信息服務的內置帳號“IUSR_VHOST1”,即:所有客戶端使用 http://xxx.xxx.xxxx/ 訪問此虛擬主機時,都是以這個身份來訪問的。輸入完成后點“創建”即可??梢愿鶕嶋H需要,創建多個用戶,創建完畢后點“關閉”: