對IIS伺服器,通過配置功能許可權可以設定存取原則,存取原則指定 IIS 中 Web 服務器、網站、應用程式、目錄或檔案層級的所有處理常式可以具有的權限類別型。 可以在存取原則中啟用或禁用的功能許可權包括讀取、指令碼和執行。 處理常式能否運行由存取原則以及處理常式所需的訪問設定共同決定。 如果處理常式需要未在存取原則中啟用的功能權限類別型,該處理常式將被禁用,並且該處理常式處理的所有請求(根據處理常式映射)都將失敗,除非請求可以由另一個處理常式處理。在IIS 5及IIS 6中,我們可以通過配置網站的屬性來對網站的權限等級設定成以下幾種情況:讀取、寫入、指令碼資源訪問、瀏覽目錄、記錄訪問、純指令碼、指令碼和可執行檔等。這幾種許可權的具體情況如下:
讀取:使用者可以查看檔案內容和屬性。
寫入:使用者可以變更檔內容和屬性。
指令碼資源訪問:使用者可以訪問檔案的原始碼,如 Active Server Pages (ASP) 應用程式中指令碼資源訪問的指令碼。僅當指派了“讀取”或“寫入”許可權時,才能使用此選項。使用者可以訪問源檔案。如果 指派了“讀取”許可權,則可以讀取原始碼。如果指派了“寫入”許可權,則也可以對原始碼進行寫入。
瀏覽目錄:使用者可以查看檔案清單和集合。
記錄訪問:為每次網站訪問建立一個記錄項目。 記錄訪問 索引資源 允許索引服務索引該資源。
純指令碼: 純指令碼將應用程式的使用權限設定為“純指令碼”可以使映射到指令碼引擎的應用程式在此目錄中運行, 而無需擁有為可執行檔設定的許可權。 將使用權限設定為“純指令碼”比將它們設定為“指令碼和 可執行檔”更安全,這是由於您可以限制能夠在該目錄中啟動並執行應用程式。
指令碼和可執行檔:將應用程式的使用權限設定為“指令碼和可執行檔”以允許應用程式在此 指令碼和可執行檔目錄中運行,其中包括映射到指令碼引擎的應用程式和 Windows 二進位檔案(.dll 和 .exe 檔)。
但在IIS 7中,我們發現,我們已經找不到相應的選項了,事實上它並未消失,配置方法如下:
1、開啟 IIS 管理器,然後導航至您要管理的層級;
2、在“功能視圖”的“server首頁”、“site 首頁”或“application 首頁”頁上,雙擊“處理常式映射”;
3、在“操作”頁上,單擊“編輯功能許可權”;
4、在“編輯功能許可權”對話方塊中,執行以下操作:
選中“讀取”可啟用需要對虛擬目錄具有讀取存取許可權的處理常式,清除“讀取”可禁用需要對虛擬目錄具有讀取存取許可權的處理常式。
選中“指令碼”可啟用需要對虛擬目錄具有指令碼許可權的處理常式,清除“指令碼”可禁用需要對虛擬目錄具有指令碼許可權的處理常式。
選中“執行”可啟用需要對虛擬目錄具有執行許可權的處理常式,清除“執行”可禁用需要對虛擬目錄具有執行許可權的處理常式。 只有當“指令碼”處於選中狀態時,“執行”選項才啟用。
5、單擊確定
另外,我們也可以通過命令列的方式來進行許可權的配置,文法如下:
appcmd set config /section:handlers /accessPolicy: NoRemoteScript|NoRemoteExecute|NoRemoteRead|NoRemoteWrite|Script|Source|Execute|Write|Read|None
我們可以為 accessPolicy 屬性指定其中的一個或多個選項,或者指定 None。 如果指定多個值,請用逗號 (,) 分隔各個值。 例如,若要啟用需要 Read 或 Script 許可權的處理常式,請在命令提示字元處鍵入如下命令,然後按 Enter:
appcmd set config /section:handlers /accessPolicy:Read,Script
對IIS伺服器,通過配置功能許可權可以設定存取原則,存取原則指定 IIS 中 Web 服務器、網站、應用程式、目錄或檔案層級的所有處理常式可以具有的權限類別型。 可以在存取原則中啟用或禁用的功能許可權包括讀取、指令碼和執行。 處理常式能否運行由存取原則以及處理常式所需的訪問設定共同決定。 如果處理常式需要未在存取原則中啟用的功能權限類別型,該處理常式將被禁用,並且該處理常式處理的所有請求(根據處理常式映射)都將失敗,除非請求可以由另一個處理常式處理。在IIS 5及IIS 6中,我們可以通過配置網站的屬性來對網站的權限等級設定成以下幾種情況:讀取、寫入、指令碼資源訪問、瀏覽目錄、記錄訪問、純指令碼、指令碼和可執行檔等。這幾種許可權的具體情況如下:
讀取:使用者可以查看檔案內容和屬性。
寫入:使用者可以變更檔內容和屬性。
指令碼資源訪問:使用者可以訪問檔案的原始碼,如 Active Server Pages (ASP) 應用程式中指令碼資源訪問的指令碼。僅當指派了“讀取”或“寫入”許可權時,才能使用此選項。使用者可以訪問源檔案。如果 指派了“讀取”許可權,則可以讀取原始碼。如果指派了“寫入”許可權,則也可以對原始碼進行寫入。
瀏覽目錄:使用者可以查看檔案清單和集合。
記錄訪問:為每次網站訪問建立一個記錄項目。 記錄訪問 索引資源 允許索引服務索引該資源。
純指令碼: 純指令碼將應用程式的使用權限設定為“純指令碼”可以使映射到指令碼引擎的應用程式在此目錄中運行, 而無需擁有為可執行檔設定的許可權。 將使用權限設定為“純指令碼”比將它們設定為“指令碼和 可執行檔”更安全,這是由於您可以限制能夠在該目錄中啟動並執行應用程式。
指令碼和可執行檔:將應用程式的使用權限設定為“指令碼和可執行檔”以允許應用程式在此 指令碼和可執行檔目錄中運行,其中包括映射到指令碼引擎的應用程式和 Windows 二進位檔案(.dll 和 .exe 檔)。
但在IIS 7中,我們發現,我們已經找不到相應的選項了,事實上它並未消失,配置方法如下:
1、開啟 IIS 管理器,然後導航至您要管理的層級;
2、在“功能視圖”的“server首頁”、“site 首頁”或“application 首頁”頁上,雙擊“處理常式映射”;
3、在“操作”頁上,單擊“編輯功能許可權”;
4、在“編輯功能許可權”對話方塊中,執行以下操作:
選中“讀取”可啟用需要對虛擬目錄具有讀取存取許可權的處理常式,清除“讀取”可禁用需要對虛擬目錄具有讀取存取許可權的處理常式。
選中“指令碼”可啟用需要對虛擬目錄具有指令碼許可權的處理常式,清除“指令碼”可禁用需要對虛擬目錄具有指令碼許可權的處理常式。
選中“執行”可啟用需要對虛擬目錄具有執行許可權的處理常式,清除“執行”可禁用需要對虛擬目錄具有執行許可權的處理常式。 只有當“指令碼”處於選中狀態時,“執行”選項才啟用。
5、單擊確定
另外,我們也可以通過命令列的方式來進行許可權的配置,文法如下:
appcmd set config /section:handlers /accessPolicy: NoRemoteScript|NoRemoteExecute|NoRemoteRead|NoRemoteWrite|Script|Source|Execute|Write|Read|None
我們可以為 accessPolicy 屬性指定其中的一個或多個選項,或者指定 None。 如果指定多個值,請用逗號 (,) 分隔各個值。 例如,若要啟用需要 Read 或 Script 許可權的處理常式,請在命令提示字元處鍵入如下命令,然後按 Enter:
appcmd set config /section:handlers /accessPolicy:Read,Script