[Samba] ACL problem after sysvolreset (possible bug ?)

denis bonnenfant@sambaedu.org denis.bonnenfant at sambaedu.org
Wed Feb 26 17:57:13 UTC 2025


Hello,

Summary :

New gpo are created from windows with  explicit rwx user and group acls 
for "Domain admins", which are inherited for every objects created, 
while sysvolreset is changing this to user:group ownership, which is not 
inheritable, and removes the acls for "Domain Admins".

Detail :

I'm facing a weird issue with sysvol acls on all my DC running samba 
4.21 : the problem appeared after upgrade from 4.17 to 4.19, and is also 
present with on new  servers provisonned directly with 4.21

the context :

First, I'm not running  Samba with rfc2307, and "Domain Admins" doesn't 
have a gidNumber.

My smb.conf on DC is  the default one from domain provision.


# wbinfo --uid-info=3000025
DIDEROT\domain admins:*:3000025:3000025::/home/DIDEROT/domain 
admins:/bin/false

# wbinfo --uid-to-sid=3000025
S-1-5-21-909356044-1599522197-445740120-512

This group is member of

# wbinfo --uid-info=3000000
BUILTIN\administrators:*:3000000:3000000::/home/BUILTIN/administrators:/bin/false

# wbinfo --uid-to-sid=3000000
S-1-5-32-544

The problem  :

When creating a new gpo from windows GPO management tool with an user 
member of "Domain Admins" , everything works as expected, GPO can be 
modified, elements added in...

After running sysvolreset on DC, GPO is broken, as no new folders can be 
created inside.

ACL before sysvolreset :


# getfacl 
/var/lib/samba/sysvol/diderot.org/Policies/\{2094568D-7BAD-4018-834C-13181AFA2514\}/User/Scripts/Logon/
getfacl : suppression du premier « / » des noms de chemins absolus
# file: 
var/lib/samba/sysvol/diderot.org/Policies/{2094568D-7BAD-4018-834C-13181AFA2514}/User/Scripts/Logon/
# owner: 3000000
# group: users
user::rwx
user:3000002:rwx
user:3000003:r-x
user:3000006:rwx
user:3000009:r-x
user:3000025:rwx
group::---
group:users:---
group:3000000:rwx
group:3000002:rwx
group:3000003:r-x
group:3000006:rwx
group:3000009:r-x
group:3000025:rwx
mask::rwx
other::---
default:user::rwx
default:user:3000000:rwx
default:user:3000002:rwx
default:user:3000003:r-x
default:user:3000006:rwx
default:user:3000009:r-x
default:user:3000025:rwx
default:group::---
default:group:users:---
default:group:3000002:rwx
default:group:3000003:r-x
default:group:3000006:rwx
default:group:3000009:r-x
default:group:3000025:rwx
default:mask::rwx
default:other::---


Created folders or files inside GPO inherit these acls, and everything 
works.


Acls After sysvolreset :

# getfacl 
/var/lib/samba/sysvol/diderot.org/Policies/\{2094568D-7BAD-4018-834C-13181AFA2514\}/User/Scripts/Logon
getfacl : suppression du premier « / » des noms de chemins absolus
# file: 
var/lib/samba/sysvol/diderot.org/Policies/{2094568D-7BAD-4018-834C-13181AFA2514}/User/Scripts/Logon
# owner: 3000025
# group: 3000025
user::rwx
user:root:rwx
user:3000000:rwx
user:3000001:r-x
user:3000002:rwx
user:3000003:r-x
group::rwx
group:3000000:rwx
group:3000001:r-x
group:3000002:rwx
group:3000003:r-x
mask::rwx
other::---
default:user::rwx
default:user:root:rwx
default:user:3000000:rwx
default:user:3000001:r-x
default:user:3000002:rwx
default:user:3000003:r-x
default:group::---
default:group:3000000:rwx
default:group:3000001:r-x
default:group:3000002:rwx
default:group:3000003:r-x
default:mask::rwx
default:other::---

When creating a new folder inside :

# getfacl 
/var/lib/samba/sysvol/diderot.org/Policies/\{2094568D-7BAD-4018-834C-13181AFA2514\}/User/Scripts/Logon/test
getfacl : suppression du premier « / » des noms de chemins absolus
# file: 
var/lib/samba/sysvol/diderot.org/Policies/{2094568D-7BAD-4018-834C-13181AFA2514}/User/Scripts/Logon/test
# owner: 3000000
# group: users
user::rwx
user:root:rwx            #effective:r-x
user:3000000:rwx        #effective:r-x
user:3000001:r-x
user:3000002:rwx        #effective:r-x
user:3000003:r-x
group::---
group:3000000:rwx        #effective:r-x
group:3000001:r-x
group:3000002:rwx        #effective:r-x
group:3000003:r-x
mask::r-x
other::---
default:user::rwx
default:user:root:rwx
default:user:3000000:rwx
default:user:3000001:r-x
default:user:3000002:rwx
default:user:3000003:r-x
default:group::---
default:group:3000000:rwx
default:group:3000001:r-x
default:group:3000002:rwx
default:group:3000003:r-x
default:mask::rwx
default:other::---


So creating new folders is broken after sysvolreset.  Running 
sysvolreset allows creation of one level again.

Same problem using Administrator account from windows. So the only way 
to modify existing gpo is to create a new one and make all changes 
before sysvolreset.


but when using smbclient, it is OK with Administrator :

smb: 
\diderot.org\Policies\{2094568D-7BAD-4018-834C-13181AFA2514}\Machine\Scripts\Startup\> 
mkdir test2

smb: 
\diderot.org\Policies\{2094568D-7BAD-4018-834C-13181AFA2514}\Machine\Scripts\Startup\> 
mkdir test2\test2

but not with admin (member of "Domain Admins")

smb: 
\diderot.org\Policies\{2094568D-7BAD-4018-834C-13181AFA2514}\Machine\Scripts\Startup\> 
mkdir test2
NT_STATUS_ACCESS_DENIED making remote directory 
\diderot.org\Policies\{2094568D-7BAD-4018-834C-13181AFA2514}\Machine\Scripts\Startup\test2






More information about the samba mailing list