小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

NTFS權限分析與應用 - Windows7 32bit 討論專區(qū)-Windows7旗艦版...

 bbbo 2011-05-12
本帖最后由 smalllion 于 2010-11-18 16:08 編輯

寫在前面:鑒于文章較為冗長,急于直接了解NTFS權限相關問題的讀者可以直接跳到章節(jié)六。然而我仍建議有時間的讀者將前面的一些基礎章節(jié)也閱讀一番。




NTFS權限”,鑒于NTFS已經與我們親密接觸了如此長的時間,這個話題可以算是老生常談了。然而在NT6.x大幅度改進了系統(tǒng)安全性后,作為安全重要環(huán)節(jié)的NTFS權限就不再是遠離用戶應用的技術。在實踐中,部分用戶由于特殊的應用需求可能需要對個別受保護的系統(tǒng)文件進行更改,不少用戶可能會遇到NTFS權限設置錯誤導致的異常,而NTFS權限與UAC的結合也為我們的應用帶來了更多可能性。要在不損害系統(tǒng)安全性的前提下實現(xiàn)我們的應用目標,就需要對NTFS權限的內容與配置方法有個初步的了解。是而為此文。

嚴格的說,NTFS權限的正式稱謂是ACL(訪問控制列表),因而在下文的陳述中也會逐步的引入ACL的概念。同時由于ACL廣泛應用于系統(tǒng)權限控制中,因而本文所陳述的內容雖以NTFS權限為主,但可以類推于其他具備ACL特性的情景中,如注冊表。



一、談論ACL時不得不說的話題——用戶與組

權限設置,必然是為授予某一群體對對象的訪問權而設立,而用戶與組正是這被授權的群體。用戶是授予權限的最小單位,而組可以視作是用戶的集合。用戶與組都使用SID作為其唯一標識符。比起活動目錄域中域本地組、全局組、通用組及其嵌套、轉換所帶來的多彩繽紛的應用相比,單機環(huán)境下的用戶與組要簡單得多。這里主要介紹一些具備特殊功能定位的用戶與組。

 

l Administrator:用戶。所謂“超級管理員”,默認禁用。在系統(tǒng)默認的安全策略下,其不受UAC約束且將以管理員身份運行任何程序。鑒于這一特性將嚴重降低系統(tǒng)安全性,不建議將其啟用。

l Guest:用戶。來賓帳戶,默認禁用。相較于普通用戶帳戶,來賓帳戶受到更多限制。在于“控制面板\用戶帳戶和家庭安全\用戶帳戶\管理帳戶”中啟用來賓帳戶后,此帳戶也將被啟用。

l HomeGroupUser$:用戶。家庭組用戶帳戶。用于實現(xiàn)家庭組簡化的、安全的共享功能。在創(chuàng)建家庭組后,此帳戶將被創(chuàng)建及啟用。

l TrustedInstaller:特殊用戶??尚湃蔚陌惭b程序,實質上其指代的是一種特殊的服務,與Windows Modules Installer服務關系很大??赏ㄟ^直接輸入名稱NTSERVICE\TrustedInstaller將其添加到ACL中。

l Administrators:組。所有管理員帳戶都是Administrators組的成員。在ACL中,針對管理員的權限設置,通常使用Administrators組進行分配。注意在UAC啟用的情況下,非經提權,僅有Administrators組的拒絕權限會應用到普通管理員。

l Users:組。所有用戶帳戶都是Users組的成員。在ACL中,針對用戶的權限設置,通常使用Users組進行分配。

l HomeUsers:組。在ACL中,針對家庭組的權限設置,通常使用HomeUsers組進行分配。

l Authenticated Users:特殊組。是所有在本系統(tǒng)或域內有合法賬戶的用戶的集合。

l Everyone:特殊組。顧名思義,所有用戶的集合,無論其是否擁有有合法賬戶。

l Creator Owner:特殊組。創(chuàng)建對象或目前是對象所有者的用戶的集合。實質上此組的作用是:當它存在于ACL中時,將同時將所有者用戶帳戶以設定的權限添加進ACL。

l Owner Rights:特殊組。此組的作用主要在于限制對象所有者隱性的查看、更改ACL的權限。

l SYSTEM:特殊組。本地系統(tǒng)。相當多的服務使用此身份運行,如Windows Search。


 



二、可以做什么?——可以分配的權限

事實上當ACL被應用于不同的場景時,其有不同的權限可供分配。這里僅介紹基于NTFSACL權限分配可選項。

從類型上看,權限包括標準權限與特定權限。標準權限是由指定的特定權限與指定的作用域組成的。

基于NTFSACL中,標準權限有:

 

l完全控制(完全控制+遍歷文件夾/執(zhí)行文件+列出文件夾/讀取數(shù)據(jù)+讀取屬性+讀取擴展屬性+創(chuàng)建文件/寫入數(shù)據(jù)+創(chuàng)建文件夾/附加數(shù)據(jù)+寫入屬性+寫入擴展屬性+刪除子文件夾及文件+刪除+讀取權限+更改權限+取得所有權)

l修改(遍歷文件夾/執(zhí)行文件+列出文件夾/讀取數(shù)據(jù)+讀取屬性+讀取擴展屬性+創(chuàng)建文件/寫入數(shù)據(jù)+創(chuàng)建文件夾/附加數(shù)據(jù)+寫入屬性+寫入擴展屬性+刪除+讀取權限,作用域:此文件夾、子文件夾和文件)

l讀取和執(zhí)行(遍歷文件夾/執(zhí)行文件+列出文件夾/讀取數(shù)據(jù)+讀取屬性+讀取擴展屬性+讀取權限,作用域:此文件夾、子文件夾和文件)

l列出文件夾內容(遍歷文件夾/執(zhí)行文件+列出文件夾/讀取數(shù)據(jù)+讀取屬性+讀取擴展屬性+讀取權限,作用域:此文件夾和子文件夾)

l讀取(列出文件夾/讀取數(shù)據(jù)+讀取屬性+讀取擴展屬性+讀取權限,作用域:此文件夾、子文件夾和文件)

l寫入(創(chuàng)建文件/寫入數(shù)據(jù)+創(chuàng)建文件夾/附加數(shù)據(jù)+寫入屬性+寫入擴展屬性,作用域:此文件夾、子文件夾和文件)

l特殊權限(其他特定權限與作用域的結合)


 


基于NTFSACL中,特定權限有:

 

l完全控制

l遍歷文件夾/執(zhí)行文件

l列出文件夾/讀取數(shù)據(jù)

l讀取屬性l讀取擴展屬性

l創(chuàng)建文件/寫入數(shù)據(jù)

l創(chuàng)建文件夾/附加數(shù)據(jù)

l寫入屬性

l寫入擴展屬性

l刪除子文件夾及文件

l刪除

l讀取權限

l更改權限

l取得所有權


 


基于NTFSACL中,作用域有:

 

l只有該文件夾

l此文件夾、子文件夾及文件

l此文件夾和子文件夾

l此文件夾和文件

l僅子文件夾和文件

l只有子文件夾

l只有文件


 

但是在實際對權限的配置中,由于繼承、權限選項與特殊組的存在,作用域并不是絕對的。


此外,“所有者”也可視為一種特殊的權限設置。所有者始終具備查看、更改對象的隱性權限(除非以Owner Rights進行限制)。任何管理員帳戶或其他具備“取得所有權”權限的帳戶都可以強行更改對象所有權。取得所有權是接管對象的重要步驟,具體的接管對象的方法則會在下面的文章中提到。


三、如何簡化ACL配置?——權限選項

在高級權限設置(屬性\安全\高級)中,我們可以遇到一些權限選項。權限選項對于簡化對ACL的配置作用很大。這些權限選項包括:

 

l包括可從該對象的父項繼承的權限:以當前對象為子對象,在子對象及其父對象之間建立繼承關系,并用父對象權限設置替換子對象權限設置。去除該選項的勾選可以阻斷繼承關系。

l使用可從此對象繼承的權限替換所有子對象權限:以當前對象為父對象,在父對象及其子對象之間建立繼承關系,并用父對象權限設置替換子對象權限設置。

l僅將這些權限應用到此容器中的對象和/或容器:作用域僅及于對象下的第一層文件/文件夾而不涉及更深層次的文件/文件夾。

l替換子容器和對象的所有者:將對象中的所有文件/文件夾的所有者變更為當前對象的所有者。


 


四、有效權限是如何計算的?——權限規(guī)則

權限規(guī)則很簡單,僅僅兩條:

1、“指定”優(yōu)先于“繼承”

即一個對象上對某用戶/組的明確權限設置優(yōu)先于繼承而來的對該用戶/組的權限設置。例如:

現(xiàn)有文件夾folderAfolderA中有子文件夾folderB,folderBfolderA存在權限繼承關系。對于用戶User,folderA拒絕其擁有寫入權限,而folderB在繼承而來的權限設置之外,還單獨賦予User寫入權限。此時,UserfolderB擁有寫入權限。

2、“拒絕”優(yōu)先于“允許”

即當除規(guī)則1的情形外,對某用戶/組同時賦予允許和拒絕權限時,拒絕權限優(yōu)先。例如:

現(xiàn)有文件夾folderA及用戶User,User同時隸屬于GroupAGroupB兩個組。對于GroupA,folderA賦予其完全控制權限,對于GroupBfolderA拒絕其擁有寫入權限。此時User不具備對folderA的寫入權限。

當然,我們不必自己手動計算權限結果,而可以使用“有效權限”選項卡來自動計算某一用戶/組的有效權限。但需要注意的是它并不會考慮UAC對權限分配的影響。



五、系統(tǒng)是如何配置ACL的?——默認ACL分析

出于對安全性和易用性平衡的追求,系統(tǒng)分區(qū)默認即具備一整套嚴密的ACL配置。對部分典型默認ACL的分析,既可為我們解決權限相關問題打下基礎,又可為我們實現(xiàn)基于權限控制的特殊應用需求提供范例。


  

C盤根目錄

  
  

所有者:TrustedInstaller

  
  

權限分配

  
  

Administrators

  
  

完全控制

  
  

SYSTEM

  
  

完全控制

  
  

Users

  
  

讀取和執(zhí)行

  
  

Authenticated Users

  
  

特殊(應用于“僅子文件夾和文件”的遍歷文件夾/執(zhí)行文件+列出文件夾/讀取數(shù)據(jù)+讀取屬性+讀取擴展屬性+創(chuàng)建文件/寫入數(shù)據(jù)+創(chuàng)建文件夾/附加數(shù)據(jù)+寫入屬性+寫入擴展屬性+刪除+更改權限 AND 應用于“只有該文件夾”的創(chuàng)建文件夾/附加數(shù)據(jù))

  

C盤根目錄的權限設置典型特征是,未提權的情況下,普通管理員僅可以創(chuàng)建文件夾或刪除這些之后被創(chuàng)建的文件夾。提權后,普通管理員可以向C盤根目錄寫入、更改、刪除文件。

在之前的文章中我們已經提到,啟用UAC的情景下,非經提權,僅有Administrators組的拒絕權限會應用到普通管理員。這意味著C盤根目錄中Administrators的完全控制權限對未經提權的普通管理員的權限分配沒有作用。此時一個普通管理員的所擁有的權限實際上是Authenticated Users組與Users組權限的集合。當然,普通管理員可以通過提權而獲得Administrators組的完全控制權限。但非經提權的程序將被拒絕向C盤根目錄寫入文件。


  

Program Files

  
  

所有者:TrustedInstaller

  
  

權限分配

  
  

SYSTEM

  
  

特殊(應用于“只有該文件夾”的遍歷文件夾/執(zhí)行文件+列出文件夾/讀取數(shù)據(jù)+讀取屬性+讀取擴展屬性+創(chuàng)建文件/寫入數(shù)據(jù)+創(chuàng)建文件夾/附加數(shù)據(jù)+寫入屬性+寫入擴展屬性+刪除+讀取權限 AND 應用于“僅子文件夾和文件”的完全控制)

  
  

Administrators

  
  

特殊(同SYSTEM

  
  

Users

  
  

讀取和執(zhí)行

  
  

Creator Owner

  
  

特殊(應用于“僅子文件夾和文件”的完全控制)

  
  

TrustedInstaller用戶

  
  

特殊(同Creator Owner

  

Program Files是系統(tǒng)默認的程序安裝文件夾,它單獨設置了ACL而沒有繼承來自C盤根目錄的權限。Program Files的權限設置典型特征與C盤根目錄較為相似,但普通管理員除“讀取和執(zhí)行”外的操作都需要提權。


  

Windows\WinSxS

  
  

所有者:TrustedInstaller

  
  

權限分配

  
  

SYSTEM

  
  

讀取和執(zhí)行

  
  

Administrators

  
  

讀取和執(zhí)行

  
  

Users

  
  

讀取和執(zhí)行

  
  

TrustedInstaller用戶

  
  

完全控制

  

Windows目錄作為系統(tǒng)文件夾,重要性不言而喻,其ACL配置也更為復雜,大量使用非繼承的權限配置設定對象權限。其中,WinSxS目錄是一種典型的高強度權限設置狀態(tài)。普通管理員不能對當中的文件、文件夾作任何添加、更改、刪除,即便提權后也是如此(因為Administrators組也僅擁有“讀取和執(zhí)行”的權限)。


  

用戶\Contoso

  
  

所有者:SYSTEM

  
  

權限分配

  
  

SYSTEM

  
  

完全控制

  
  

Administrators

  
  

完全控制

  
  

Contoso用戶

  
  

完全控制

  

相對而言,用戶文件夾的權限設置要寬松很多。比如在我們這里舉例的名為Contoso的用戶文件夾中,SYSTEM組、Administrators組與Contoso用戶本身都享有對文件夾的完全控制權限。僅有其他用戶試圖訪問此用戶文件夾時才會收到權限不足的警告,不過對身為管理員的他們來說,為自己的帳戶分配權限并不是什么難事。


從對默認ACL的分析不難看出,我們可以利用啟用UAC時非經提權僅有Administrators組的拒絕權限會應用到普通管理員的特性來構建特殊的受保護文件夾。這類文件夾的特征是未經管理員批準(即提權),任何用戶、程序不能對該文件夾的內容進行更改。具體的權限配置方法上,即是在用戶所普遍隸屬的Users組上設置普通權限(如讀取和訪問),而在Administrators組上設置高權限(如完全控制)。


六、自己動手,解決權限問題

針對NTFS權限相關問題,網絡上往往流傳著一些“一鍵取得管理員權限”的基于注冊表的簡易解決方案。誠然,這類解決方案在一定程度上簡化了對NTFS權限相關問題的解決,但其副作用也很明顯,如用戶無法恢復原文件夾的ACL設置。當用戶將這種解決方案應用到系統(tǒng)受保護的區(qū)域時,將可能引發(fā)安全性問題。事實上手動解決權限問題并不復雜,在解決的過程中,用戶也可以更好的理解與應用NTFS權限。


例一:如何暫時性的獲取對對象的相應操作權限?

一些時候(如美化),用戶可能因為特殊需求而需要更改受保護的系統(tǒng)文件;另一些時候,用戶可能需要移除卸載應用程序后的殘留文件(如卸載Adobe Reader后其程序目錄中所剩下的一些文件)。但當用戶遇到權限不足的警告時,應當如何去臨時性的獲取對對象的相應操作權限呢?

首先,如果并非是要刪除對象,那么請記錄好原對象的ACL設置情況,如所有者、權限、繼承等;

第二,將對象的所有者更改為當前用戶,可以根據(jù)具體情況考慮是否替換子容器和對象的所有者;

第三,將當前用戶添加到ACL中,為其分配適當?shù)臋嘞?,可以根?jù)具體情況考慮是否使用可從此對象繼承的權限替換所有子對象權限;

第四,進行需要的操作;

第五,如果并非是要刪除對象,那么請比照原對象的ACL設置情況恢復對象權限設置,如刪除之后添加到ACL中的用戶帳戶、重新更改對象所有者等。

概而言之,強行設置所有者+為當前用戶分配權限后,當前用戶即可享有對對象的相應操作權限。


例二:如何去除對象上的小鎖?

嚴格的說這并不是什么大問題,但鑒于經常有朋友提出需要修正這一問題,故而順帶談一談。對象上帶有小鎖圖標,代表該對象設定了指定(而非繼承)的權限,該權限表明對象在非提權的情況下專屬于一個用戶帳戶。如在簡單的通過快捷菜單將對象設置為“不共享”后,系統(tǒng)將為對象分配這樣指定的權限。解決方案也很簡單,既可以將對象設置為繼承父對象權限(包括可從該對象的父項繼承的權限),也可以比照同級對象配置對象權限。當然,并非所有具備小鎖的對象都需要去修正,如用戶文件夾的權限設置就具有指定的用戶專屬權限,這是由對象的定位決定的。


七、結語

這篇文章,算是我迄今為止構思最久、撰寫最久也最為冗長的文章了。想將靈活多變的NTFS權限正確而有意義的表達并不是很容易的事,而我?guī)缀蹩梢钥隙ㄎ恼轮写嬖谥承┪視簳r無法發(fā)現(xiàn)的謬誤。我亦不能確定是否每位讀者都會將冗長的全文通讀(畢竟對用戶最有意義的部分僅僅是章節(jié)六)。然而寫作的過程也是一個自我提高的過程,我亦樂意與讀者分享這提高的樂趣。

以上,5000字了吧。

    本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多