在實際的使用過程中,發現這個方法在大多數時候可以正常工作,但是如果在打開IE之前,已經調用過紫光拼音,則可能無法在IE浏覽器裡順利啟動紫光拼音。有人曾說,Windows vista沒有自帶的工具,無法查看和設置文件夾的完整性級別。
果真是這樣嗎? 筆者有幸在Tech.Ed北京聽了IE保護模式的負責人Robert Gu的一堂課,了解到Windows Vista其實自帶了一款命令行工具Icacls.exe,可以用它來查看和設置指定文件夾的完整性級別。
提示 Robert Gu,微軟總部的首席開發主管,目前負責IE 7安全的開發。他是EFS算法的發明者,曾主導EFS、PKI的開發,是華人中的驕傲。
現在我們可以大膽猜測,既然有現成的Icacls.exe可供使用,則完全可以用它來把紫光拼音的工作目錄“%Appdata%\Unispim”的完整性級別設置為“低級”,這樣無論是IE進程(低級)和外部的進程(中級),都可以訪問該工作目錄,紫光拼音就可以工作正常。
說做就做,接下來就以Windows Vista RC2 Build 5744為例進行介紹(需要注意的是,該Icacls命令在RC1下無法正常工作):
1.首先需要給當前的帳戶增加“修改一個對象標簽”特權,其內部名稱為SeRelabelPrivilege。方法是運行secpol.msc,打開“本地安全策略”管理單元,在左側控制台樹中展開本地策略、用戶權限分配,在右側詳細窗格裡定位到“修改一個對象標簽”策略項,雙擊該策略項,把當前的登錄帳戶添加進去,如附圖所示。
2.注銷重新登錄,然後以管理員權限運行命令提示符,在命令提示符下輸入以下命令:
Whoami/all find /i "SeRelabelPrivilege"
結果如附圖所示,這表示當前登錄用戶已經擁有SeRelabelPrivilege特權,只是狀態為禁用。