Samba 4 insufficientAccessRights when modifying Configuration

Nadezhda Ivanova nivanova at samba.org
Wed Aug 1 13:48:41 MDT 2012


The objectSid attribute of the machine contains the sid, you can check
there. I am at a loss as to why domain admins is not in the security token,
however...


On Wed, Aug 1, 2012 at 10:24 PM, Brian C. Huffman <
bhuffman at etinternational.com> wrote:

>  I added it - take a look at the attached screenshot.  Is there anywhere
> else I should go to verify?  I'm not sure what the commands would be to
> check the ldb files.
>
> Also is there any way to look up that SID to see what it resolves to (to
> be sure that we're adding the correct thing to Domain Admins)?
>
> Thanks,
> Brian
>
>
> On 08/01/2012 03:13 PM, Nadezhda Ivanova wrote:
>
> From the security token it is seen that the user is not a member of Domain
> admins or enterprise admins. All we have is:
> sids                     : S-1-5-21-2824053618-3522172672-2706769870-1104
> - I assume this is  the machine account sid
>                sids                     :
> S-1-5-21-2824053618-3522172672-2706769870-515 - Domain Computers
>               sids                     : S-1-1-0 - Everyone
>               sids                     : S-1-5-2 - Network
>               sids                     : S-1-5-11 - Authenticated Users
>
> For some reason the account has not become a member of Domain Admins.
>
>
>
> On Wed, Aug 1, 2012 at 9:56 PM, Brian C. Huffman <
> bhuffman at etinternational.com> wrote:
>
>>  Here you go:
>> [2012/08/01 14:35:39, 10, pid=15547, effective(0, 0), real(0, 0)]
>> ../source4/dsdb/common/dsdb_access.c:47(dsdb_acl_debug)
>>   Access on
>> CN=user-Display,CN=C0A,CN=DisplaySpecifiers,CN=Configuration,DC=xmen,DC=eti
>> deniedSecurity context:     : struct security_token
>>           num_sids                 : 0x00000005 (5)
>>           sids: ARRAY(5)
>>               sids                     :
>> S-1-5-21-2824053618-3522172672-2706769870-1104
>>               sids                     :
>> S-1-5-21-2824053618-3522172672-2706769870-515
>>               sids                     : S-1-1-0
>>               sids                     : S-1-5-2
>>               sids                     : S-1-5-11
>>           privilege_mask           : 0x0000000000000000 (0)
>>                  0: SEC_PRIV_MACHINE_ACCOUNT_BIT
>>                  0: SEC_PRIV_PRINT_OPERATOR_BIT
>>                  0: SEC_PRIV_ADD_USERS_BIT
>>                  0: SEC_PRIV_DISK_OPERATOR_BIT
>>                  0: SEC_PRIV_REMOTE_SHUTDOWN_BIT
>>                  0: SEC_PRIV_BACKUP_BIT
>>                  0: SEC_PRIV_RESTORE_BIT
>>                  0: SEC_PRIV_TAKE_OWNERSHIP_BIT
>>                  0: SEC_PRIV_INCREASE_QUOTA_BIT
>>                  0: SEC_PRIV_SECURITY_BIT
>>                  0: SEC_PRIV_LOAD_DRIVER_BIT
>>                  0: SEC_PRIV_SYSTEM_PROFILE_BIT
>>                  0: SEC_PRIV_SYSTEMTIME_BIT
>>                  0: SEC_PRIV_PROFILE_SINGLE_PROCESS_BIT
>>                  0: SEC_PRIV_INCREASE_BASE_PRIORITY_BIT
>>                  0: SEC_PRIV_CREATE_PAGEFILE_BIT
>>                  0: SEC_PRIV_SHUTDOWN_BIT
>>                  0: SEC_PRIV_DEBUG_BIT
>>                  0: SEC_PRIV_SYSTEM_ENVIRONMENT_BIT
>>                  0: SEC_PRIV_CHANGE_NOTIFY_BIT
>>                  0: SEC_PRIV_UNDOCK_BIT
>>                  0: SEC_PRIV_ENABLE_DELEGATION_BIT
>>                  0: SEC_PRIV_MANAGE_VOLUME_BIT
>>                  0: SEC_PRIV_IMPERSONATE_BIT
>>                  0: SEC_PRIV_CREATE_GLOBAL_BIT
>>           rights_mask              : 0x00000000 (0)
>>                  0: LSA_POLICY_MODE_INTERACTIVE
>>                  0: LSA_POLICY_MODE_NETWORK
>>                  0: LSA_POLICY_MODE_BATCH
>>                  0: LSA_POLICY_MODE_SERVICE
>>                  0: LSA_POLICY_MODE_PROXY
>>                  0: LSA_POLICY_MODE_DENY_INTERACTIVE
>>                  0: LSA_POLICY_MODE_DENY_NETWORK
>>                  0: LSA_POLICY_MODE_DENY_BATCH
>>                  0: LSA_POLICY_MODE_DENY_SERVICE
>>                  0: LSA_POLICY_MODE_REMOTE_INTERACTIVE
>>                  0: LSA_POLICY_MODE_DENY_REMOTE_INTERACTIVE
>>               0x00: LSA_POLICY_MODE_ALL       (0)
>>               0x00: LSA_POLICY_MODE_ALL_NT4   (0)
>>
>> [2012/08/01 14:35:39, 10, pid=15547, effective(0, 0), real(0, 0)]
>> ../source4/dsdb/common/dsdb_access.c:55(dsdb_acl_debug)
>>
>>   Security descriptor:     : struct security_descriptor
>>           revision                 : SECURITY_DESCRIPTOR_REVISION_1 (1)
>>            type                     : 0x8405 (33797)
>>
>>                  1: SEC_DESC_OWNER_DEFAULTED
>>                  0: SEC_DESC_GROUP_DEFAULTED
>>                  1: SEC_DESC_DACL_PRESENT
>>                  0: SEC_DESC_DACL_DEFAULTED
>>                  0: SEC_DESC_SACL_PRESENT
>>                  0: SEC_DESC_SACL_DEFAULTED
>>                  0: SEC_DESC_DACL_TRUSTED
>>                  0: SEC_DESC_SERVER_SECURITY
>>                  0: SEC_DESC_DACL_AUTO_INHERIT_REQ
>>                  0: SEC_DESC_SACL_AUTO_INHERIT_REQ
>>                  1: SEC_DESC_DACL_AUTO_INHERITED
>>                  0: SEC_DESC_SACL_AUTO_INHERITED
>>                  0: SEC_DESC_DACL_PROTECTED
>>                  0: SEC_DESC_SACL_PROTECTED
>>                  0: SEC_DESC_RM_CONTROL_VALID
>>                  1: SEC_DESC_SELF_RELATIVE
>>            owner_sid                : *
>>               owner_sid                :
>> S-1-5-21-2824053618-3522172672-2706769870-519
>>           group_sid                : *
>>               group_sid                :
>> S-1-5-21-2824053618-3522172672-2706769870-513
>>           sacl                     : NULL
>>           dacl                     : *
>>               dacl: struct security_acl
>>                   revision                 : SECURITY_ACL_REVISION_ADS (4)
>>                   size                     : 0x009c (156)
>>                   num_aces                 : 0x00000005 (5)
>>                   aces: ARRAY(5)
>>                       aces: struct security_ace
>>                           type                     :
>> SEC_ACE_TYPE_ACCESS_ALLOWED (0)
>>                           flags                    : 0x00 (0)
>>                                  0: SEC_ACE_FLAG_OBJECT_INHERIT
>>                                  0: SEC_ACE_FLAG_CONTAINER_INHERIT
>>                                  0: SEC_ACE_FLAG_NO_PROPAGATE_INHERIT
>>                                  0: SEC_ACE_FLAG_INHERIT_ONLY
>>                                  0: SEC_ACE_FLAG_INHERITED_ACE
>>                               0x00: SEC_ACE_FLAG_VALID_INHERIT (0)
>>                                  0: SEC_ACE_FLAG_SUCCESSFUL_ACCESS
>>                                  0: SEC_ACE_FLAG_FAILED_ACCESS
>>                           size                     : 0x0024 (36)
>>                           access_mask              : 0x000f01ff (983551)
>>                           object                   : union
>> security_ace_object_ctr(case 0)
>>                           trustee                  :
>> S-1-5-21-2824053618-3522172672-2706769870-512
>>                       aces: struct security_ace
>>                           type                     :
>> SEC_ACE_TYPE_ACCESS_ALLOWED (0)
>>                           flags                    : 0x00 (0)
>>                                  0: SEC_ACE_FLAG_OBJECT_INHERIT
>>                                  0: SEC_ACE_FLAG_CONTAINER_INHERIT
>>                                  0: SEC_ACE_FLAG_NO_PROPAGATE_INHERIT
>>                                  0: SEC_ACE_FLAG_INHERIT_ONLY
>>                                  0: SEC_ACE_FLAG_INHERITED_ACE
>>                               0x00: SEC_ACE_FLAG_VALID_INHERIT (0)
>>                                  0: SEC_ACE_FLAG_SUCCESSFUL_ACCESS
>>                                  0: SEC_ACE_FLAG_FAILED_ACCESS
>>                           size                     : 0x0014 (20)
>>                           access_mask              : 0x000f01ff (983551)
>>                           object                   : union
>> security_ace_object_ctr(case 0)
>>                           trustee                  : S-1-5-18
>>                       aces: struct security_ace
>>                           type                     :
>> SEC_ACE_TYPE_ACCESS_ALLOWED (0)
>>                           flags                    : 0x00 (0)
>>                                  0: SEC_ACE_FLAG_OBJECT_INHERIT
>>                                  0: SEC_ACE_FLAG_CONTAINER_INHERIT
>>                                  0: SEC_ACE_FLAG_NO_PROPAGATE_INHERIT
>>                                  0: SEC_ACE_FLAG_INHERIT_ONLY
>>                                  0: SEC_ACE_FLAG_INHERITED_ACE
>>                               0x00: SEC_ACE_FLAG_VALID_INHERIT (0)
>>                                  0: SEC_ACE_FLAG_SUCCESSFUL_ACCESS
>>                                  0: SEC_ACE_FLAG_FAILED_ACCESS
>>                           size                     : 0x0014 (20)
>>                           access_mask              : 0x00020094 (131220)
>>                           object                   : union
>> security_ace_object_ctr(case 0)
>>                           trustee                  : S-1-5-11
>>                       aces: struct security_ace
>>                           type                     :
>> SEC_ACE_TYPE_ACCESS_ALLOWED (0)
>>                           flags                    : 0x12 (18)
>>                                  0: SEC_ACE_FLAG_OBJECT_INHERIT
>>                                  1: SEC_ACE_FLAG_CONTAINER_INHERIT
>>                                  0: SEC_ACE_FLAG_NO_PROPAGATE_INHERIT
>>                                  0: SEC_ACE_FLAG_INHERIT_ONLY
>>                                  1: SEC_ACE_FLAG_INHERITED_ACE
>>                               0x02: SEC_ACE_FLAG_VALID_INHERIT (2)
>>                                  0: SEC_ACE_FLAG_SUCCESSFUL_ACCESS
>>                                  0: SEC_ACE_FLAG_FAILED_ACCESS
>>                           size                     : 0x0024 (36)
>>                           access_mask              : 0x000f01ff (983551)
>>                           object                   : union
>> security_ace_object_ctr(case 0)
>>                           trustee                  :
>> S-1-5-21-2824053618-3522172672-2706769870-519
>>                       aces: struct security_ace
>>                           type                     :
>> SEC_ACE_TYPE_ACCESS_ALLOWED (0)
>>                           flags                    : 0x12 (18)
>>                                  0: SEC_ACE_FLAG_OBJECT_INHERIT
>>                                  1: SEC_ACE_FLAG_CONTAINER_INHERIT
>>                                  0: SEC_ACE_FLAG_NO_PROPAGATE_INHERIT
>>                                  0: SEC_ACE_FLAG_INHERIT_ONLY
>>                                  1: SEC_ACE_FLAG_INHERITED_ACE
>>                               0x02: SEC_ACE_FLAG_VALID_INHERIT (2)
>>                                  0: SEC_ACE_FLAG_SUCCESSFUL_ACCESS
>>                                  0: SEC_ACE_FLAG_FAILED_ACCESS
>>                           size                     : 0x0024 (36)
>>                           access_mask              : 0x000f01bd (983485)
>>                           object                   : union
>> security_ace_object_ctr(case 0)
>>                           trustee                  :
>> S-1-5-21-2824053618-3522172672-2706769870-512
>>
>> [2012/08/01 14:35:39,  5, pid=15547, effective(0, 0), real(0, 0)]
>> ../lib/ldb-samba/ldb_wrap.c:68(ldb_wrap_debug)
>>   ldb: cancel ldb transaction (nesting: 0)
>>
>> Let me know if you need anything additional.
>>
>> Thanks!
>> Brian
>>
>>
>> On 08/01/2012 02:02 PM, Nadezhda Ivanova wrote:
>>
>> Hi Brian,
>> We will need to take a look at the access check dumps. To do that, you
>> need to run Samba with log level 10. Add the machine account to the Domain
>> Admin groups, and repeat the installation. The log file will be enormous,
>> but search for something like:
>> Object
>> CN=group-Display,CN=407,CN=DisplaySpecifiers,CN=Configuration,DC=xmen,DC=eti
>> has no write property access
>> Access on
>> CN=group-Display,CN=407,CN=DisplaySpecifiers,CN=Configuration,DC=xmen,DC=eti
>> denied
>>
>> After that there should be a dump of the security token, which looks
>> something like this:
>> Security context:     : struct security_token
>>         user_sid                 : *
>>             user_sid                 :
>> S-1-5-21-2851635801-3495335766-3134857892-1014
>>         group_sid                : *
>>             group_sid                :
>> S-1-5-21-2851635801-3495335766-3134857892-513
>>         num_sids                 : 0x00000006 (6)
>>         sids: ARRAY(6)
>>             sids                     : *
>>                 sids                     :
>> S-1-5-21-2851635801-3495335766-3134857892-1014
>>             sids                     : *
>>                 sids                     :
>> S-1-5-21-2851635801-3495335766-3134857892-513
>>             sids                     : *
>>                 sids                     : S-1-1-0
>>             sids                     : *
>>                 sids                     : S-1-5-2
>>             sids                     : *
>>                 sids                     : S-1-5-11
>>             sids                     : *
>>                 sids                     : S-1-5-32-545
>>         privilege_mask           : 0x0000000000000000 (0)
>>
>> and after that is a dump of the security descriptor for the object. It
>> can be very big, starts with something like:
>> Security descriptor:     : struct security_descriptor
>>         revision                 : SECURITY_DESCRIPTOR_REVISION_1 (1)
>>         type                     : 0x8c14 (35860)
>>                0: SEC_DESC_OWNER_DEFAULTED
>>                0: SEC_DESC_GROUP_DEFAULTED
>>                1: SEC_DESC_DACL_PRESENT
>>                0: SEC_DESC_DACL_DEFAULTED
>>                1: SEC_DESC_SACL_PRESENT
>>                0: SEC_DESC_SACL_DEFAULTED
>>                0: SEC_DESC_DACL_TRUSTED
>>                0: SEC_DESC_SERVER_SECURITY
>>                0: SEC_DESC_DACL_AUTO_INHERIT_REQ
>>                0: SEC_DESC_SACL_AUTO_INHERIT_REQ
>>                1: SEC_DESC_DACL_AUTO_INHERITED
>>                1: SEC_DESC_SACL_AUTO_INHERITED
>>                0: SEC_DESC_DACL_PROTECTED
>>                0: SEC_DESC_SACL_PROTECTED
>>                0: SEC_DESC_RM_CONTROL_VALID
>>                1: SEC_DESC_SELF_RELATIVE
>>
>>
>> And goes on with the list of all ACEs in sacl and dacl. We will need all
>> that to figure out why the access checks have failed, could you send it?
>>
>> Regards,
>> Nadya
>>
>>
>> On Wed, Aug 1, 2012 at 5:01 PM, Brian C. Huffman <
>> bhuffman at etinternational.com> wrote:
>>
>>>  Yep - In fact, I removed the machine account from Domain Admins, tried
>>> again, and did a diff between the two modify responses.  Kerberos info is
>>> different and the timestamps are different, but everything else is the same.
>>>
>>> Brian
>>>
>>>
>>> On 08/01/2012 09:51 AM, Nadezhda Ivanova wrote:
>>>
>>> Is it the same error on the same operation?
>>>
>>> On Wed, Aug 1, 2012 at 4:49 PM, Brian C. Huffman <
>>> bhuffman at etinternational.com> wrote:
>>>
>>>> Matthieu,
>>>>
>>>> I used the MMC "Active Directory Users and Computers" to make the
>>>> change you suggested.  Unfortunately I still get the
>>>> insufficientAccessRights.  So now I'm not sure what's going on because your
>>>> idea made sense and sounded very promising.
>>>>
>>>> Brian
>>>>
>>>>
>>>>
>>>>
>>>> On 07/31/2012 11:52 PM, Matthieu Patou wrote:
>>>>
>>>>> On 07/31/2012 07:18 AM, Brian C. Huffman wrote:
>>>>>
>>>>>> Unfortunately I can run it as Administrator but it appears that
>>>>>> programatically it still tries to install as the machine account.  I did
>>>>>> some research and it turns out that the vendor intends you to run it on the
>>>>>> AD server itself (which won't be possible for Samba).
>>>>>>
>>>>>>  I suspect they expect you to run it on one of the DC, in this case
>>>>> the computer account is member of the domain controllers that have a lot of
>>>>> rights !
>>>>>
>>>>>  However while trying to work around this, I found a difference
>>>>>> between Samba and a Windows 2008 AD server.  With the Win2k8 AD server, I'm
>>>>>> able to add the machine account, with inherited write permissions to
>>>>>> CN=DisplaySpecifiers,CN=Configuration and then the installer succeeds.
>>>>>>  When I try to do the same with Samba, it doesn't give me any warnings, but
>>>>>> it silently refuses to add the permissions to the descendants of
>>>>>> DisplaySpecifiers.  Is this known / intended behavior?
>>>>>>
>>>>>>  As nadya said we now this "issue" the way to do it for you is to add
>>>>> the machine account via ADSI or ldbedit to the domain admins group, it
>>>>> should do the job. Once the installation is finished, remove it from this
>>>>> group.
>>>>>
>>>>> Matthieu.
>>>>>
>>>>>
>>>>>
>>>>
>>>
>>>
>>
>>
>
>


More information about the samba-technical mailing list