Samba 4 insufficientAccessRights when modifying Configuration
Nadezhda Ivanova
nivanova at samba.org
Wed Aug 1 13:13:01 MDT 2012
>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