日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

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

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

DN-- distinguished name和DACL SACL的含義


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

CN,OU,DC都是LDAP連接服務(wù)器的端字符串中的區(qū)別名稱(DN,distinguished name);
LDAP連接服務(wù)器的連接字串格式為:ldap://servername/DN
其中DN有三個屬性,分別是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 可能代表一個用戶名, ou=developer 代表一個active directory中的 組織單位。這句話的含義可能就是說明test這個對象處在domainname. com域的developer組織單元中。

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

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

Windows訪問控制鏈表

訪問控制鏈表(ACL)

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

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

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

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

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

ACE

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

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

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

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

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

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

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

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

下表列出了三個所有安全對象支持的ACE類型:

Type

Description

訪問拒絕ACE

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

訪問允許ACE

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

系統(tǒng)評估ACE

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

對于對象指定的ACE,參見對象指定ACE。

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

托管

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

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

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

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

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

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

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

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

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

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

對象類型

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

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

GetNamedSecurityInfo, SetNamedSecurityInfo, GetSecurityInfo, SetSecurityInfo

命名管道和匿名管道

GetSecurityInfo, SetSecurityInfo

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

Not supported.

進(jìn)程和線程

GetSecurityInfo, SetSecurityInfo

文件映射對象

GetNamedSecurityInfo, SetNamedSecurityInfo, GetSecurityInfo, SetSecurityInfo

Access tokens

SetKernelObjectSecurity, GetKernelObjectSecurity

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

GetSecurityInfo, SetSecurityInfo

注冊表鍵

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)程間同步對象 (事件, mutexes, semaphores, and waitable timers)

GetNamedSecurityInfo, SetNamedSecurityInfo, GetSecurityInfo, SetSecurityInfo

作業(yè)對象

GetNamedSecurityInfo, SetNamedSecurityInfo, GetSecurityInfo, SetSecurityInfo



通用訪問權(quán)限


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

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

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

常量

解釋

GENERIC_ALL

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

GENERIC_EXECUTE

執(zhí)行

GENERIC_READ

GENERIC_WRITE

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

安全描述符


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

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

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

3. SACL指定對象通用評估記錄嘗試的訪問類型

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

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

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

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

DACL是怎么控制訪問對象的?

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

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

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

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

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

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

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

下圖描述一個DACL對象允許訪問一個線程而拒絕訪

問另一個線程。


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

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

總結(jié)

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

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