Hi, Nadya,
We completed the investigation on your questions. The following are our
responses to the questions:
Q1: What is ACE canonical form?
ANS: An ACL is said to be in canonical form if:
(1) All explicit ACEs are placed before inherited ACEs.
(2) Within the explicit ACEs, deny ACEs come before grant ACEs.
(3) Inherited ACEs are placed in the order in which they were
inherited.
We will add the definition of ACL canonical form to [MS-DTYP] and also
add the reference to this information in 7.1.3.1 MS-ADTS.
Q2: In the sentence: "The nest rule is only applied if the previous
rule(s) give inconclusive results" - what would constitute an inconclusive
result?
ANS: We will remove the statement “The next rule is only applied if the
previous rule(s) give inconclusive results” from 7.1.3.1 [MS-ADTS].
Q3: . I created a group via LDAP and provided a security descriptor with
ACE's deliberately scrambled - e.g Deny before Allow, Object Specific before
Regular. I did not get an LDAP error, the group was successfully created, but
the SD looked the way I provided it, that is, not according to the rules
described in this section. Can you explain why this happens? What behavior
should I expect, is Windows supposed to sort them, return an error
ANS: If the ACEs in the input ACL are not in the canonical form as defined in
Q1 , Windows Active Directory will not sort the ACEs and no error will be
returned to the client.
Please let us know if you have more questions.
Thanks!
Hongwei
-----Original Message-----
From: Nadezhda Ivanova [mailto:[email protected]]
Sent: Monday, April 19, 2010 9:00 AM
To: Hongwei Sun
Cc: MSSolve Case Email; [email protected]
Subject: Re: [REG:110041557300829] RE: [cifs-protocol] Questions regarding
7.1.3.1 ACE Ordering Rules
Hi Hongwei,
Currently I am using the Samba make test framework. I'll find a way to make a
script that can be used without Samba and let you know.
Until then, if it helps, this is the ACL I am providing upon group creation, in
SDDL:
sddl =
"D:(OA;;CR;ab721a53-1e2f-11d0-9819-00aa0040529b;;PS)(OA;;CR;ab721a54-1e2f-11d0-9819-00aa0040529b;;PS)(OA;;CR;ab721a56-1e2f-11d0-9819-00aa0040529b;;PS)(OA;;RPWP;77b5b886-944a-11d1-aebd-0000f80367c1;;PS)(OA;;RPWP;e45795b2-9455-11d1-aebd-0000f80367c1;;PS)(OA;;RPWP;e45795b3-9455-11d1-aebd-0000f80367c1;;PS)(OA;;RP;037088f8-0ae1-11d2-b422-00a0c968f939;;RS)(OA;;RP;4c164200-20c0-11d0-a768-00aa006e0529;;RS)(OA;;RP;bc0ac240-79a9-11d0-9020-00c04fc2d4cf;;RS)(A;;RC;;;AU)(OA;;RP;59ba2f42-79a2-11d0-9020-00c04fc2d3cf;;AU)(A;;RPWPCRCCDCLCLORCWOWDSDDTSW;;;DA)(A;;RPWPCRCCDCLCLORCWOWDSDDTSW;;;SY)(A;;RPWPCRCCDCLCLORCWOWDSDDTSW;;;AO)(A;;RPLCLORC;;;PS)(OA;;CR;ab721a53-1e2f-11d0-9819-00aa0040529b;;PS)(OA;;RP;77b5b886-944a-11d1-aebd-0000f80367c1;;AU)(OA;;RP;e45795b3-9455-11d1-aebd-0000f80367c1;;AU)(OA;;RP;e48d0154-bcf8-11d1-8702-00c04fb96050;;AU)(OA;;CR;ab721a53-1e2f-11d0-9819-00aa0040529b;;WD)(OA;;RP;5f202010-79a5-11d0-9020-00c04fc2d4cf;;RS)(OA;;RPWP;bf967a7f-0de6-11d0-a285-00aa003049e2;;CA)(OA;;RP;46a9b11d-60ae-405a-b7e8-ff8a58d456d2;;S-1-5-32-560)(OA;;RPWP;6db69a1c-9422-11d1-aebd-0000f80367c1;;S-1-5-32-561)(OA;;RPWP;5805bc62-bdc9-4428-a5e2-856a0f4c185e;;S-1-5-32-561)"
+ ("(D;;RPWPCRCCDCLCLORCWOWDSDDTSW;;;%s)(D;;RPLCLORC;;;%s)" % (sid, sid))
The group is in an OU where inheritance is broken, that is, it will not inherit
anything from the parent.
The sid variable is the sid of a regular user, I suppose any user would do.
Thanks,
Nadya
----- Original Message -----
> From: Hongwei Sun <[email protected]>
> To: Nadezhda Ivanova <[email protected]>
> Cc: [email protected] <[email protected]>, MSSolve Case
> Email <[email protected]>
> Sent: Saturday, April 17, 2010 0:03:41 AM (GMT+02:00) Helsinki, Kyiv, Riga,
> Sofia, Tallinn, Vilnius
> Subject: [REG:110041557300829] RE: [cifs-protocol] Questions regarding
> 7.1.3.1 ACE Ordering Rules
> > Nadya,
>
> Active Directory is supposed to apply the requirements to any
> security descriptors maintained by a DC, as described in section
> 7.1.3. ACE ordering is one of the requirement. If forest functional
> level is DS_BEHAVIOR_WIN2003 and fDontStandardizeSDs is false, the
> ACEs in the ACLs will be sorted by DC using the ACE ordering rule in
> 7.1.3.1 MS-ADTS. This enforcement should happen either when a new
> object is created or when LDAP modify on security descriptor is done.
> If the ACE reordering cannot be done for some reasons, there will be
> no LDAP error returned and. The order of explicit ACEs supplied by
> the client is preserved.
>
> You are running test against Windows 2008 and by default
> fDontStandardizeSDs should be zero. So the ACE reordering should
> happen. Could you send me (1)the LDAP command you used to create the
> group
> (2)the SD you provided
> (3)the dump of SD finally set on group object ?
> I will investigate to find the reason why reordering is not happening.
>
>
> I am working on the clarification for the section of 7.1.3.1 based on
> two of your questions. I will let you know.
>
> Thanks!
>
> Hongwei
>
>
> -----Original Message-----
> From: [email protected]
> [mailto:[email protected]] On Behalf Of Nadezhda Ivanova
> Sent: Thursday, April 15, 2010 8:22 AM
> To: Interoperability Documentation Help
> Cc: [email protected]
> Subject: [cifs-protocol] Questions regarding 7.1.3.1 ACE Ordering
> Rules
>
> Hello,
> I was running some test against a Windows 2008 server, forest
> functional level and domain functional level are both 2008. I created
> a group via LDAP and provided a security descriptor with ACE's
> deliberately scrambled - e.g Deny before Allow, Object Specific before
> Regular. I did not get an LDAP error, the group was successfully
> created, but the SD looked the way I provided it, that is, not
> according to the rules described in this section. Can you explain why
> this happens? What behavior should I expect, is Windows supposed to
> sort them, return an error, or sort them later, or when a recalculate
> hierarchy request is sent?
>
> In addition:
> What is ACE canonical form?
> In the sentence: "The nest rule is only applied if the previous
> rule(s) give inconclusive results" - what would constitute an
> inconclusive result?
>
> Best Regards,
> Nadya
>
> _______________________________________________
> cifs-protocol mailing list
> [email protected]
> https://lists.samba.org/mailman/listinfo/cifs-protocol
_______________________________________________
cifs-protocol mailing list
[email protected]
https://lists.samba.org/mailman/listinfo/cifs-protocol