日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

DN distinguished name和DACL SACL的含义(转)

發(fā)布時(shí)間:2023/12/13 34 生活家
生活随笔 收集整理的這篇文章主要介紹了 DN distinguished name和DACL SACL的含义(转) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

DN-- distinguished name和DACL SACL的含義


很多人雖然會(huì)使用dsadd等命令添加用戶,但是dsadd的命令說明里面并沒有涉及到dc,cn,ou的含義,很多人都不明白,這里是微軟的技術(shù)支持人員的回信,希望對(duì)大家有幫助。

CN,OU,DC都是LDAP連接服務(wù)器的端字符串中的區(qū)別名稱(DN,distinguished name);
LDAP連接服務(wù)器的連接字串格式為:ldap://servername/DN
其中DN有三個(gè)屬性,分別是CN,OU,DC
LDAP是一種通訊協(xié)議,如同HTTP是一種協(xié)議一樣的!

在 LDAP 目錄中。
DC (Domain Component)
CN (Common Name)
OU (Organizational Unit)
An LDAP 目錄類似于文件系統(tǒng)目錄. 下列目錄:
DC=redmond,DC=wa,DC=microsoft,DC=com
如果我們類比文件系統(tǒng)的話,可被看作如下文件路徑:
Com\Microsoft\Wa\Redmond

例如:CN=test,OU=developer,DC=domainname,DC=com

在上面的代碼中cn=test 可能代表一個(gè)用戶名, ou=developer 代表一個(gè)active directory中的 組織單位。這句話的含義可能就是說明test這個(gè)對(duì)象處在domainname. com域的developer組織單元中。

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

任意訪問控制列表( Discretionary ACL )、系統(tǒng)訪問控制列表( System ACL )。任意訪問控制列表包含了用戶和組的列表,以及相應(yīng)的權(quán)限,允許或拒絕。每一個(gè)用戶或組在任意訪問控制列表中都有特殊的權(quán)限。而系統(tǒng)訪問控制列表是為審核服務(wù)的,包含了對(duì)象被訪問的時(shí)間
他們都是在sd中的!
什么是sd呢?先來看看安全對(duì)象吧
安全對(duì)象Securable Object是擁有SD的Windows的對(duì)象。
所有的被命名的Windows的對(duì)象都是安全對(duì)象。一些沒有命名的對(duì)象是安全對(duì)象,如:進(jìn)程和線程,也有安全描述符SD。安全對(duì)象Securable Object是擁有SD的Windows的對(duì)象。
在Windows系統(tǒng)中,其是用一個(gè)安全描述符(Security Descriptors)的結(jié)構(gòu)來保存其權(quán)限的設(shè)置信息,簡(jiǎn)稱為SD,其在Windows SDK中的結(jié)構(gòu)名是“SECURITY_DESCRIPTOR”,這是包括了安全設(shè)置信息的結(jié)構(gòu)體。一個(gè)安全描述符包含以下信息:
? 一個(gè)安全標(biāo)識(shí)符(Security identifiers),其標(biāo)識(shí)了該信息是哪個(gè)對(duì)象的,也就是用于記錄安全對(duì)象的ID。簡(jiǎn)稱為:SID。
? 一個(gè)DACL(Discretionary Access Control List),其指出了允許和拒絕某用戶或用戶組的存取控制列表。 當(dāng)一個(gè)進(jìn)程需要訪問安全對(duì)象,系統(tǒng)就會(huì)檢查DACL來決定進(jìn)程的訪問權(quán)。如果一個(gè)對(duì)象沒有DACL,那么就是說這個(gè)對(duì)象是任何人都可以擁有完全的訪問權(quán)限。
? 一個(gè)SACL(System Access Control List),其指出了在該對(duì)象上的一組存取方式(如,讀、寫、運(yùn)行等)的存取控制權(quán)限細(xì)節(jié)的列表。
? 還有其自身的一些控制位。
DACL和SACL構(gòu)成了整個(gè)存取控制列表Access Control List,簡(jiǎn)稱ACL,ACL中的每一項(xiàng),我們叫做ACE(Access Control Entry),ACL中的每一個(gè)ACE

Windows訪問控制鏈表

訪問控制鏈表(ACL)

一個(gè)ACL是一個(gè)ACE鏈表。每個(gè)ACL中的ACE標(biāo)示一個(gè)托管以及指定允許的訪問權(quán)限、否定或托管的設(shè)計(jì)。一個(gè)對(duì)象的安全描述符號(hào)包含兩種類型的ACL,一個(gè)是DACL,一個(gè)是SACL。

一個(gè)目錄訪問控制鏈表(DACL)標(biāo)示允許或拒絕訪問一個(gè)安全對(duì)象的托管。當(dāng)一個(gè)進(jìn)程常識(shí)訪問一個(gè)安全對(duì)象的時(shí)候,系統(tǒng)檢查對(duì)象的DACL中的ACE來決定是否賦予訪問權(quán)限。如果對(duì)象沒有DACL,系統(tǒng)賦予完全的訪問權(quán)限,如果對(duì)象的DACL沒有ACE,那么系統(tǒng)拒絕所有訪問對(duì)象的嘗試,因?yàn)镈ACL不允許任何訪問權(quán)限。系統(tǒng)檢查ACE序列直到找到一到多個(gè)ACE,或者直到任何請(qǐng)求的訪問權(quán)限被否定。更多的信息參見:DACL怎么樣控制一個(gè)對(duì)象的。對(duì)于創(chuàng)建DACL的信息,見創(chuàng)建一個(gè)DACL。

一個(gè)系統(tǒng)訪問控制鏈表(SACL)是管理員登錄嘗試訪問一個(gè)安全對(duì)象。每個(gè)ACE指定一個(gè)指定的托管嘗試的訪問類型,這個(gè)訪問會(huì)導(dǎo)致系統(tǒng)產(chǎn)生一個(gè)安全事件日志。一個(gè)SACL中的ACE能夠產(chǎn)生訪問嘗試失敗或成功的時(shí)候產(chǎn)生評(píng)估記錄,在將來的release中,一個(gè)SACL在一個(gè)未授權(quán)用戶嘗試訪問一個(gè)對(duì)象的時(shí)候發(fā)出一個(gè)警告。更多SACL的信息參見Audit Generation和SACL訪問權(quán)限。

不要嘗試直接使用一個(gè)ACL來工作。為了確保ACL能夠語義正確的,使用適當(dāng)?shù)暮瘮?shù)來創(chuàng)建和操縱ACL。更多的信息參見:從ACL中取得信息和創(chuàng)建或修改一個(gè)ACL。

ACL也提供訪問控制微軟的Active Directory目錄服務(wù)對(duì)象。活動(dòng)目錄服務(wù)接口(ADSI)包括創(chuàng)建和修改ACL內(nèi)容的程序。更多信息參見:控制訪問活動(dòng)目錄對(duì)象。

ACE

一個(gè)訪問控制實(shí)體(ACE)是ACL中的一個(gè)元素。一個(gè)ACL可能包含0到多個(gè)ACE。每個(gè)ACE通過一個(gè)指定的托管來控制或監(jiān)視一個(gè)對(duì)象。更多關(guān)于添加、刪除、改變ACE,見修改ACL對(duì)象。

Window Me/98/95:不支持訪問控制

有6種類型的ACE,三種被所有的安全對(duì)象支持,其他類型是對(duì)象特定的ACE,由目錄服務(wù)對(duì)象支持。

所有ACE類型都包含下面訪問控制信息:

1. 一個(gè)安全標(biāo)示符號(hào)(SID)來標(biāo)示ACE應(yīng)用的托管

2. 一個(gè)訪問掩碼指定ACE控制的訪問權(quán)限

3. 一個(gè)指示ACE類型的標(biāo)志位

4. 一系列位標(biāo)志決定是否子容器或?qū)ο罂梢岳^承ACE從基本對(duì)象到ACL附著的對(duì)象。

下表列出了三個(gè)所有安全對(duì)象支持的ACE類型:

Type

Description

訪問拒絕ACE

用在一個(gè)DACL中拒絕到一個(gè)托管的訪問權(quán)限

訪問允許ACE

用在一個(gè)DACL中允許到托管的訪問權(quán)限

系統(tǒng)評(píng)估ACE

用在SACL中,當(dāng)托管嘗試檢查指定訪問權(quán)限時(shí)產(chǎn)生一個(gè)評(píng)估記錄

對(duì)于對(duì)象指定的ACE,參見對(duì)象指定ACE。

注意,系統(tǒng)警告ACE對(duì)象現(xiàn)在不支持。

托管

一個(gè)托管是一個(gè)用戶帳戶、組帳戶或登錄會(huì)話到一個(gè)ACE應(yīng)用。每個(gè)ACL中的ACE都有一個(gè)SID來標(biāo)示托管。用戶帳戶包含人使用的帳戶或程序帳戶(例如,Window服務(wù)用來登錄到本地計(jì)算機(jī)的)。組帳戶不能用來登錄到計(jì)算機(jī),但在ACE中非常有用,用來拒絕或允許一到多個(gè)用戶帳戶的訪問權(quán)限。一個(gè)登錄SID表示當(dāng)前的登錄會(huì)話用來允許和拒絕訪問權(quán)限,直到用戶登出。

NT4.0和后來版本中訪問控制函數(shù)使用TRUSTEE結(jié)構(gòu)體來表示一個(gè)托管。這個(gè)結(jié)構(gòu)體能使你用一個(gè)字符串或一個(gè)SID來表示一個(gè)托管。如果你使用一個(gè)名字,從TRUSTEE結(jié)構(gòu)創(chuàng)建ACE的函數(shù)執(zhí)行SID緩沖區(qū)分配工作并且查詢SID對(duì)應(yīng)的帳戶名稱。有兩個(gè)助手函數(shù),BuildTrusteeWithSid和BuildTrusteeWithName,可以用SID或名字來初始化一個(gè)TRUSTEE結(jié)構(gòu)。BuildTrusteeWithObjectsAndSid和BuildTrusteeWithObjectsAndName允許你使用一個(gè)對(duì)象指定的ACE信息來初始化一個(gè)TRUSTEE結(jié)構(gòu)體。其他3個(gè)助手函數(shù),GetTrusteeFrorm、GetTrusteeName和GetTrusteeType,返回TRUSTEE結(jié)構(gòu)各成員的值。
Window XP/2000:TRUSTEE的ptstrName成員可以是一個(gè)指向OBJECTS_AND_NAME或OBJECTS_AND_SID結(jié)構(gòu)體的指針。這些結(jié)構(gòu)體說明對(duì)象指定ACE的信息,除了托管的名字和SID之外。這可以象SetEntriesInAcl和GetExplicitEntriesFromAcl這樣的函數(shù)存儲(chǔ)對(duì)象指定ACE的信息到EXPLICIT_ACCESS結(jié)構(gòu)體的Trustee成員中。

TRUSTEE結(jié)構(gòu)體:

typedef struct _TRUSTEE {
PTRUSTEE pMultipleTrustee;
MULTIPLE_TRUSTEE_OPERATION MultipleTrusteeOperation;
TRUSTEE_FORM TrusteeForm;
TRUSTEE_TYPE TrusteeType;
LPTSTR ptstrName;

} TRUSTEE, *PTRUSTEE;

訪問權(quán)限和訪問掩碼

一個(gè)訪問權(quán)限是一個(gè)標(biāo)志位對(duì)應(yīng)到一個(gè)特殊操作集合,這個(gè)集合表示線程可以在安全對(duì)象上執(zhí)行的操作。例如:注冊(cè)表鍵KEY_SET_VALUE訪問權(quán)限,對(duì)應(yīng)到線程在這個(gè)鍵下設(shè)置的值的能力。如果線程想在一個(gè)對(duì)象執(zhí)行一個(gè)操作,但沒有必要的訪問權(quán)限,系統(tǒng)不執(zhí)行操作。

一個(gè)訪問掩碼是一個(gè)32位的值,它對(duì)應(yīng)到對(duì)象支持的訪問權(quán)限。所有的Windows NT/2000/XP安全對(duì)象使用一個(gè)Windows訪問掩碼格式,這個(gè)格式包含下面的訪問權(quán)限位:

1.通用訪問權(quán)限

2.標(biāo)準(zhǔn)訪問權(quán)限

3. SACL訪問權(quán)限

4.目錄服務(wù)訪問權(quán)限

當(dāng)一個(gè)線程想打開一個(gè)對(duì)象的句柄,線程通常指定一個(gè)訪問掩碼來請(qǐng)求一系列的訪問權(quán)限。例如,需要設(shè)置和查詢注冊(cè)表鍵的程序可以使用一個(gè)訪問掩碼來請(qǐng)求KEY_SET_VALUE和KEY_QUERY_VALUE訪問權(quán)限來打開該鍵。

下面表顯示了操作每種類型安全對(duì)象的信息:

對(duì)象類型

安全描述符號(hào)函數(shù)

NTFS上的文件或目錄系統(tǒng)

GetNamedSecurityInfo, SetNamedSecurityInfo, GetSecurityInfo, SetSecurityInfo

命名管道和匿名管道

GetSecurityInfo, SetSecurityInfo

控制臺(tái)屏幕緩沖區(qū)

Not supported.

進(jìn)程和線程

GetSecurityInfo, SetSecurityInfo

文件映射對(duì)象

GetNamedSecurityInfo, SetNamedSecurityInfo, GetSecurityInfo, SetSecurityInfo

Access tokens

SetKernelObjectSecurity, GetKernelObjectSecurity

Windows管理對(duì)象 (windows工作站和桌面)

GetSecurityInfo, SetSecurityInfo

注冊(cè)表鍵

GetNamedSecurityInfo, SetNamedSecurityInfo, GetSecurityInfo, SetSecurityInfo

Windows服務(wù)

GetNamedSecurityInfo, SetNamedSecurityInfo, GetSecurityInfo, SetSecurityInfo

本地和遠(yuǎn)程打印機(jī)

GetNamedSecurityInfo, SetNamedSecurityInfo, GetSecurityInfo, SetSecurityInfo

網(wǎng)絡(luò)共享

GetNamedSecurityInfo, SetNamedSecurityInfo, GetSecurityInfo, SetSecurityInfo

進(jìn)程間同步對(duì)象 (事件, mutexes, semaphores, and waitable timers)

GetNamedSecurityInfo, SetNamedSecurityInfo, GetSecurityInfo, SetSecurityInfo

作業(yè)對(duì)象

GetNamedSecurityInfo, SetNamedSecurityInfo, GetSecurityInfo, SetSecurityInfo



通用訪問權(quán)限


安全對(duì)象使用Windows訪問掩碼格式,四個(gè)高位說明通用訪問權(quán)限。每個(gè)安全對(duì)象類型映射到這些位到一系列標(biāo)準(zhǔn)和對(duì)象特殊訪問權(quán)限。例如:一個(gè)Window文件對(duì)象映射GENERIC_READ位到READ_CONTROL和SYNCHRONIZE標(biāo)準(zhǔn)訪問權(quán)限和FILE_READ_DATA、FILE_READ_EA和FILE_READ_ATTRIBUTES對(duì)象指定訪問權(quán)限。其他類型對(duì)象映射GENERIC_READ位到與類型對(duì)象適應(yīng)的一些訪問權(quán)限。

你可以在你打開一個(gè)對(duì)象句柄的時(shí)候使用通用訪問權(quán)限來指定需要的訪問類型;這通常比指定所有對(duì)應(yīng)標(biāo)準(zhǔn)和特指權(quán)限要簡(jiǎn)單。

下表顯示了通用訪問權(quán)限定義的常量。

常量

解釋

GENERIC_ALL

讀、寫和執(zhí)行訪問

GENERIC_EXECUTE

執(zhí)行

GENERIC_READ

GENERIC_WRITE

應(yīng)用程序定義的私有安全訪問對(duì)象能使用通用訪問權(quán)限。

安全描述符


安全描述符包含了安全對(duì)象相關(guān)的安全信息。安全描述父由一個(gè)SECURITY_DESCRIPTOR結(jié)構(gòu)體組成,它關(guān)聯(lián)到一個(gè)安全對(duì)象。一個(gè)安全描述符包含下面的安全信息:

1. 擁有者或基本組對(duì)象的安全I(xiàn)D(SIDs)

2. DACL指定特殊用戶或組的允許或拒絕的訪問權(quán)限

3. SACL指定對(duì)象通用評(píng)估記錄嘗試的訪問類型

4. 一個(gè)控制位集合,說明安全描述符的含義或它每個(gè)成員

程序不需要直接操作安全描述符的內(nèi)容。Windows API提供設(shè)置和返回安全描述符號(hào)的函數(shù)。另外,有用來創(chuàng)建和初始化一個(gè)新對(duì)象安全描述符號(hào)的函數(shù)。

Windows NT 3.51和更早的版本,Windows ME/98/95:參見:低級(jí)訪問控制。

工作在活動(dòng)目錄對(duì)象上安全描述符程序能使用Windows的安全函數(shù)或ADSI(活動(dòng)目錄服務(wù)接口)提供的安全接口。更多ADSI的信息參見:訪問控制如何在活動(dòng)目錄中工作?

DACL是怎么控制訪問對(duì)象的?

當(dāng)一個(gè)線程想訪問一個(gè)安全對(duì)象時(shí)候,系統(tǒng)要么允許訪問,要拒絕訪問。如果對(duì)象沒有DACL,系統(tǒng)賦予訪問權(quán)限,否則系統(tǒng)查找DACL中的該線程的ACE。每個(gè)對(duì)象DACL中的ACE指定托管的訪問允許或拒絕的訪問權(quán)限,它可以是一個(gè)用戶帳戶、組帳戶或登錄會(huì)話。

系統(tǒng)比較ACE中的托管和線程訪問標(biāo)記的托管標(biāo)示。一個(gè)訪問標(biāo)記包含SID來說明用戶和用戶輸入的組帳戶。一個(gè)標(biāo)記也包含一個(gè)登錄SID,來表示當(dāng)前的登錄會(huì)話。在訪問檢查期間,系統(tǒng)忽略不可用的組SID。更多可用不可用信息以及拒絕SID,見訪問標(biāo)記中的SID屬性。

通常,系統(tǒng)使用現(xiàn)成餓基本訪問標(biāo)記來請(qǐng)求訪問。然而,如果現(xiàn)成正在扮演其他用戶,系統(tǒng)使用現(xiàn)成的扮演標(biāo)記。

系統(tǒng)家產(chǎn)序列中的每個(gè)ACE,直到下面的情況發(fā)生:

1. 一個(gè)顯式拒絕任何與線程訪問標(biāo)記中列出托管不同的訪問ACE出現(xiàn)

2. 線程訪問標(biāo)記中列出的一個(gè)或多個(gè)允許訪問的ACE出現(xiàn),這個(gè)標(biāo)記顯式賦予所有權(quán)限。

3. 所有的ACE都檢查過,并且至少一個(gè)訪問權(quán)限沒有顯式的允許,這種情況下暗示拒絕。

下圖描述一個(gè)DACL對(duì)象允許訪問一個(gè)線程而拒絕訪

問另一個(gè)線程。


對(duì)于線程A,系統(tǒng)讀ACE1并且立即拒絕訪問,因?yàn)樵L問拒絕ACE應(yīng)用到線程訪問標(biāo)記中的用戶。這種情況下,系統(tǒng)并沒有檢查ACE2和3。對(duì)于線程B,ACE1沒有應(yīng)用,因此系統(tǒng)處理ACE2,其允許寫操作,并且ACE3允許讀和執(zhí)行操作。

因?yàn)橄到y(tǒng)在請(qǐng)求訪問并顯式允許或拒絕的時(shí)候停止檢查,DACL中的ACE順序非常重要。注意,如果ACE順序與例子中的不同,系統(tǒng)可能分配訪問權(quán)限給A。對(duì)于系統(tǒng)對(duì)象,操作系統(tǒng)定義一個(gè)首選的DACL中ACE的順序。

總結(jié)

以上是生活随笔為你收集整理的DN distinguished name和DACL SACL的含义(转)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。