2009年12月13日 星期日

使用windows 7,我所遇到的權限問題

因為最近剛升級成windows 7,所以最近的文章,大都與windows 7有關,相信我會遇到的問題,很多人也同樣會遇到,所以把我最近處理windows 7的經驗寫出來,供同樣升級windows 7的朋友參考。這一篇文章要聊的就是windows 7的權限問題。包含檔案的權限,dos指令權限,以及uac的問題。另外我使用的版本是windows 7的旗艦版(ultimate),其他版本是否有同樣的權限問題,我就不清楚了。


一、出現S-1-5-21...的奇怪使用者帳戶

在我測試windows 7的過程中,常會重裝系統,如果您也曾重裝系統,有時候你會發現,某些檔案或資料夾你既無法新增,也無法刪除或移動。簡單的說就是你對這些檔案或資料夾完全沒有權限。 在該檔案按右鍵,點選「內容」,查看它的「安全性」頁籤,發現有一些無法辨識的使用者,像S-1-5-21,開頭的使用者帳號。這些檔案或資料夾可能是您在重裝系統之前建立的,但在重裝系統之後,原來建立的使用者帳戶,已經改變或不見了,所以就變成下圖中無法辨識的帳戶了。

20091210000.jpg

對於這樣的檔案和資料夾,真的是彈不得,刪也不行,改名也不行,一點辦法也沒有,即使你想由上圖的「編輯」按鈕來新增目前使用者的權限,卻發現「新增」與「移除」按鈕,都是灰色的,而無法使用。
20091209001.jpg

最後查了一些關於windows 7權限的資料,加上自己測試的結果,終於找到方法。
要如何解決這樣的權限問題呢?首先必須先改變這些檔案及資料夾的擁有者,將它變成現在你正在使用的合法帳號。
請從上面第一張圖的「進階」按鈕進入。再按下「擁有者」頁籤,再按下方的「編輯」。

20091209007.jpg

選擇您要變更的擁有者帳戶名稱, 如果您變更的是資料夾,記得在取代子容器與物件的擁有者打勾,這樣所有下層的檔案及資料夾擁有者權限,才會同時變更。

20091209008.jpg

經過以上步驟以後,這些檔案或資料夾的原來擁有者「S-1-5-21....」,就變成目前系統有效的帳戶了。這時你就有權把這些礙眼的S-1-5-21...等帳號刪掉,也有權限去管理這些檔案及資料夾了, 但還要留意新的擁有者帳戶,是否只有唯讀的權限,有無寫入及刪除權,如果沒有的話,要從上上一張圖的「權限」頁籤→「變更權限」→「編輯」去增加



二、dos指令權限不足

過去在windows xp的時代,習慣在開始功能表→執行,鍵入cmd指令,進入dos視窗,然後輸入一些dos模式下的指令,如chkdsk等。如果同樣的方式用在windows 7,會出現權限不足,必須提升權限才能執行指令的訊息。
這是因為從Vista開始,應用程式開啟時,預設不會使用系統管理員身分執行。有些指令要用系統管理身分才能開啟,因此會出現權限不足的問題。

想解決這個問題有兩個方式

  1. 在cmd指令的圖示上,按滑鼠右鍵→以系統管理者身分開啟。
  2. 按著鍵盤的Ctrl+Shift,再點擊cmd命令視窗圖示。

當您用上面的方式,以系統管理者身分執行程式時,會再出現一個對話視窗,讓你確定後才會執行。這樣的機制是為了避免木馬程式,偷偷在背景裡執行一些東西,並且用系統管理者的權限,對系統進行破壞。

20091211000.jpg


三、UAC的問題

使用者帳戶控制(UAC,User Account Control)是Windows Vista/7的新技術,當某些軟體的動作會影響系統的安全及穩定性作時,UAC便會彈出一個確認的訊息,在執行前要求輸入管理員的帳號及密碼,除了該對話框之外,螢幕其他部分都會變暗,使用者不能進行其他操作。當使用者的群組為「系統管理員」,那麼確認對話框只有「允許」或「不允許」,若使用者無「系統管理員」的權限,那就需請求管理員的授權及密碼。

透過UAC進一步的權限確認動作,可協助防止木馬任意變更電腦及進行任何破壞動作。在Windows系統中,UAC預設為開啟的。基本上,只要有涉及到存取系統磁碟的根目錄檔案 (例如 C:\),存取 Windows 資料夾內的檔案,Windows 系統資料夾,Program Files 資料夾,存取 Windows 安全資訊以及讀寫系統登錄資料庫 (Registry) 的程式存取動作,都會需要通過 UAC 的認證。

雖然UAC可提高系統的安全性,但亦受到廣泛的批評,例如每次安裝應用程式或變更設定都會彈出對話框,帶來了很多不便。有部分用戶會避免麻煩而關閉UAC。另外,有些用戶在UAC的對話框彈出後看也不看一眼就直接按「允許」,使到失去實際用途。(以上參考維基百科,更詳細說明見 http://zh.wikipedia.org/wiki/UAC)

由以上說明可以瞭解,有時候想要安全,就必須付出麻煩的代價,像筆者以前會安裝防火牆軟體,可是每當執行一個程式,或使用到某一連接埠,或連出到某一網址,就會出現讓人選擇開放使用權限或封鎖存取權限的視窗。有的程式我很清楚是什麼,但有的只是一串英文程序名稱,甚至連我也不清楚,那些程式或連接埠是否為必須,封鎖了怕影響正常的程式運作,開放又怕影響系統安全。最後覺得太麻煩了,乾脆移除了。UAC也是同樣情況,網路上的爭論很多,有的人認為毫無用處,有的人認為對系統安全很有幫助。事實上,我認為透過UAC對系統存取權限進行確認,當然對系統安全是有好處的,但就是要付出不方便的代價。如果您不亂玩軟體,也不會下載來歷不明的檔案,那不妨將uac關閉。如果您很重視系統安全,也不怕麻煩,那就留著。

關閉uac最簡單的方法
關閉uac的方法很簡單。首先在「開始」圖示點一下→「開始使用」→「變更UAC設定」20091213000.jpg

將左方的拉桿,拉到最下面的「不要通知」,按確定。

20091213001.jpg

然後會再出現一個關閉uac的確認視窗,按確定,再重新開機即可。