windows上的權限管理機制

windows中,權限指的是不同賬戶對文件,文件夾,注冊表等的訪問能力 。在windows中,為不同的賬戶設置權限很重要,可以防止重要文件被其他人所修改,使系統崩潰 。
說到Windows 的權限,就不能不說說"安全標識符"(Security Identifier,SID)、"訪問控制列表"(Access Control List,ACL)和安全主體(Security Principal)這三個要素 。
安全標識符在Windows 中,系統是通過SID對用戶進行識別的,而不是很多用戶認為的"用戶名稱" 。SID可以應用于系統內的所有用戶、組、服務或計算機,因為SID是一個具有惟一性、絕對不會重復產生的數值 。
訪問控制列表是權限的核心技術 。顧名思義,這是一個權限列表,用于定義特定用戶對某個資源的訪問權限 。
在Windows XP中,可以將用戶、用戶組、計算機或服務都看成是一個安全主體,每個安全主體都擁有相對應的賬戶名稱和SID 。

windows上的權限管理機制

文章插圖


常用的linux文件權限:444 r--r--r--
600 rw-------
644 rw-r--r--
666 rw-rw-rw-
700 rwx------
744 rwxr--r--
755 rwxr-xr-x
777 rwxrwxrwx
從左至右,1-3位數字代表文件所有者的權限,4-6位數字代表同組用戶的權限,7-9數字代表其他用戶的權限 。
而具體的權限是由數字來表示的,讀取的權限等于4,用r表示;寫入的權限等于2,用w表示;執行的權限等于1,用x表示;
通過4、2、1的組合,得到以下幾種權限:0(沒有權限);4(讀取權限);5(4+1 | 讀取+執行);6(4+2 | 讀取+寫入);7(4+2+1 | 讀取+寫入+執行)
以755為例:
1-3位7等于4+2+1,rwx,所有者具有讀取、寫入、執行權限;
4-6位5等于4+1+0,r-x,同組用戶具有讀取、執行權限但沒有寫入權限;
7-9位5,同上,也是r-x,其他用戶具有讀取、執行權限但沒有寫入權限 。
rwx權限數字解釋
chmod也可以用數字來表示權限如 chmod 777 file
語法為:chmod abc file
其中a,b,c各為一個數字,分別表示User、Group、及Other的權限 。
r=4,w=2,x=1
【windows上的權限管理機制】若要rwx屬性則4+2+1=7;
若要rw-屬性則4+2=6;
若要r-x屬性則4+1=7 。

windows上的權限管理機制

文章插圖
如果想了解基礎原理,請參考Windows Internals 7th Edition Part 1的Security一章 ?;旧隙际荗bject Manager來管理每個對象的權限的,用的是ACL(Access Control List) 。每個對象(打開的文件、進程、線程等等很多種類)都有權限控制 ??梢杂肧ysinternals的免費工具WinObj來觀察這些對象和其上的ACL 。文件系統里面,文件和目錄也是通過ACL來控制的,分DACL(自主ACL,用于控制權限)和SACL(系統ACL,用于控制審計信息)兩種 。在資源管理器里查看文件屬性就能看見它上面的安全性設置 。另外在Windows Vista中引入了UAC和UIPI 。UAC簡單地說就是管理員用戶登錄時,它的默認令牌(代表它的身份)里面Administrators組是去掉的,這樣可以保護它默認不能訪問系統全局的一些東西 。只有當權限提升(elevate)以后,新生成的令牌才有Administrators組 。UIPI是指,當前用戶以非管理員的身份啟動的進程,無法通過UI(比如發送WM_*消息)來訪問管理員身份啟動的進程,除非該管理員身份啟動的進程告訴Windows要允許這樣的訪問 。
Windows 8則在Metro App(現在叫UWP)上強制實現沙箱訪問 。默認情況下權限十分有限,安全性很高 。即使權限全部開啟也無法有管理員的權限,并且還是在UWP平臺的管控之內 。所以裝UWP應用程序是比較放心的,基本上就算是個壞軟件最多卸載掉,不會像流氓軟件那樣在系統里留下好多東西怎么卸載都卸載不干凈的情況

    推薦閱讀