国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > Windows > 正文

什么是uac功能?Vista下的UAC功能詳細(xì)介紹

2019-11-28 04:44:56
字體:
供稿:網(wǎng)友

UAC是什么?

UAC的全稱是User Account Control(用戶賬戶控制),它是Windows Vista提供的一個安全特性。它會在用戶使用計算機(jī)進(jìn)行更改系統(tǒng)設(shè)置或者安裝軟件等會影響到系統(tǒng)安全性、穩(wěn)定性的操作時彈出一個對話框,友善的提示用戶他們要進(jìn)行的操作。

當(dāng)用戶使用Windows Vista時,默認(rèn)是啟用UAC的。無論用戶以什么身份登錄Windows Vista計算機(jī),即使他以管理員的身份登錄計算機(jī),都只具有普通用戶的權(quán)限。當(dāng)用戶執(zhí)行一些安裝操作或者設(shè)置操作時,Vista系統(tǒng)會彈出一個對話框,提示用戶他們要進(jìn)行的操作。在這個過程中,如果您使用的是管理員的賬號登錄Windows Vista,那么只需要點擊“Continue”或者“Allow”就可以繼續(xù)進(jìn)行操作了。點擊的時候,UAC進(jìn)行了一次權(quán)限的提升,這時管理員才是真正具有了管理員的權(quán)限。如果是以普通用戶登錄計算機(jī),當(dāng)他們執(zhí)行這樣的操作時,Windows Vista會彈出一個對話框,讓這個普通用戶輸入一個管理員的賬號和密碼。而在以前的Xp系統(tǒng)中,如果我們是普通用戶,我們就不可能進(jìn)行這樣的操作,但是在Vista中它也提供了這樣的操作,只是你必須知道管理員的賬號和密碼。

這個功能可以人為的禁用和開啟嗎?

是可以的,Windows Vista是提供了相關(guān)的工具的。

方法一:msconfig.exe 工具

在開始菜單->運(yùn)行->輸入"msconfig" 回車。就會啟動msconfig。點擊Tools 標(biāo)簽,如圖:

msconfig提供了啟用、禁用UAC功能的兩個選項,選中,然后點擊Launch按鈕,就設(shè)定成功了。啟用新的設(shè)置需要重新啟動計算機(jī)。

其實我們可以從該工具執(zhí)行的命令中,可以看出是通過設(shè)定注冊表來實現(xiàn)UAC功能的啟用和禁用的。

C:/Windows/System32/cmd.exe /k %windir%/System32/reg.exe ADD HKLM/SOFTWARE/Microsoft/Windows/CurrentVersion/Policies/System /v EnableLUA /t REG_DWORD /d 0 /f

在注冊表的HKLM/SOFTWARE/Microsoft/Windows/CurrentVersion/Policies/System 下EnableLUA  鍵是用來控制UAC功能的啟用和暫停,1代表啟用UAC功能;0代表禁用UAC功能。這也就不難解釋為什么修改UAC設(shè)定后,需要重新啟動計算機(jī)了。

本地安全策略的相關(guān)設(shè)定:

在開始菜單->運(yùn)行->輸入"secpol.msc" 啟動本地安全策略控制臺。在"本地安全策略"(Local Policies)節(jié)點下"安全選項"(Security Option)子節(jié)點中有9個UAC相關(guān)的策略。

編程相關(guān)

如果您編寫的程序需要較高的權(quán)限運(yùn)行,可以為您程序創(chuàng)建一個manifest文件。在manifest文件中加入需要提升權(quán)限的描述:

<xml version="1.0" encoding="utf-8"> <asmv1:assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">   <assemblyIdentity version="1.0.0.0" name="DemoUACApp.app"/>   <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">     <security>       <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">         <requestedExecutionLevel  level="requireAdministrator"/>       </requestedPrivileges>     </security>  </trustInfo></asmv1:assembly>

這樣,編譯后的程序圖標(biāo)上就會出現(xiàn)那個小盾牌了。我做了一個實驗,嘗試用程序在系統(tǒng)盤的Program Files文件夾下創(chuàng)建一個子文件夾,并在該文件夾中創(chuàng)建一個普通的文本文件。

實驗結(jié)果如下:

1) 在app.manifest文件中配置了提升權(quán)限的選項。以普通賬戶運(yùn)行程序,出現(xiàn)安全提示詢問是否運(yùn)行。點擊"允許"后,程序能夠正常運(yùn)行。通過資源瀏覽器發(fā)現(xiàn)Program Files文件夾下新創(chuàng)建的文件夾和文件都存在。符合預(yù)期。

2) 刪除app.manifest文件,重新編譯程序。以普通賬戶運(yùn)行程序,未見安全提示。發(fā)現(xiàn)程序仍然能夠正常運(yùn)行。但程序新創(chuàng)建的文件夾和文件在資源瀏覽器中不可見,通過代碼仍然能夠正常讀取新建的文件夾和文件。有點兒出乎意外的說。

既然通過代碼能夠正常讀取,說明文件確實在硬盤上存在。使用Administrator賬戶登錄,發(fā)現(xiàn)以Administrator身份瀏覽文件夾時新創(chuàng)建的文件和文件夾可見。這就有點兒怪了,呵呵。Debug了一下代碼,暫未發(fā)現(xiàn)在哪部分代碼中進(jìn)行了提權(quán)操作。但是,這提示我們?nèi)绻诰幊虝r不注意UAC問題,有可能會造成未知結(jié)果。

小貼士

其實,對于開發(fā)人員來說,在Vista下UAC造成的最多的"小麻煩"就是使用Visual Studio 創(chuàng)建Web應(yīng)用(包括WebApp和WebService)時一定要記得"Run as Administrator",否則會因為權(quán)限不夠而創(chuàng)建工程失敗。或是使用Sql Management Studio Express時因忘了"Run as Administrator"而連不上SQL Server的服務(wù)。

您可以打開程序快捷方式的屬性對話框,在"快捷方式"標(biāo)簽下有一個"高級按鈕",打開后,勾選"Run as Administrator"選項,保存。這樣您就可以每次使用鼠標(biāo)左鍵單擊打開您的Visual Studio創(chuàng)建您的Web應(yīng)用了。只是每次的"允許"動作依然要有。如圖:

感受

UAC總的來說,想法不錯。但是,這是建立在用戶的"火眼金睛"的基礎(chǔ)上的。MS不能要求所有的用戶都是程序員、ITPro的水平吧?對于程序員、ITPro來說,Run as Administrator也許是一個警告,但又有幾個普通用戶看得懂呢?我個人感覺,這個UAC對前幾年那種冒用MS名義發(fā)出的打Hotfix的欺騙郵件形式的入侵,還是一點兒作用不起。打Hotfix,就要動系統(tǒng)文件,需要Administrator權(quán)限也理所應(yīng)當(dāng)。可一旦給了安裝程序管理員權(quán)限,機(jī)器照樣還是后門大開……

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 长宁县| 准格尔旗| 隆子县| 和田市| 西盟| 鹰潭市| 梨树县| 乌海市| 金乡县| 南京市| 海林市| 霞浦县| 昌黎县| 灌南县| 松江区| 宣化县| 昌吉市| 曲靖市| 宜昌市| 东乡| 万安县| 阜新市| 金沙县| 南皮县| 曲周县| 高邮市| 哈尔滨市| 嘉禾县| 文登市| 阜阳市| 西和县| 鄯善县| 台中市| 宁远县| 镶黄旗| 西林县| 青神县| 五台县| 哈巴河县| 信阳市| 泾阳县|