Klaas TJEBBES
2025-Apr-15  08:03 UTC
[Samba] Access denied on GPO after "ntacl sysvolreset"
Hi Rowland (and others)
Here is what you were asking for.
As a sidenote, 'samba-tool ntacl get' is a bit buggy on some pathes. 
I've left the tracebacks so you can understand what I'm talking about.
But nevertheless, there are some differences between before and after 
'samba-tool ntacl sysvolreset'. This command does not set back the 
access rights like Windows does.
# BEFORE samba-tool ntacl sysvolreset, just after creating a GPO in RSAT
root at addc:~# samba-tool ntacl get 
/home/sysvol/domscribe.ac-test.fr/Policies/\{A343FF29-C355-44E2-80B9-1CD67B6134E3\}/
--as-sddl
ERROR(<class 'FileNotFoundError'>): uncaught exception - [Errno 2]
No
such file or directory: 
'/home/sysvol/domscribe.ac-test.fr/Policies/{A343FF29-C355-44E2-80B9-1CD67B6134E3}/'
   File "/usr/lib/python3/dist-packages/samba/netcmd/__init__.py",
line
279, in _run
     return self.run(*args, **kwargs)
            ^^^^^^^^^^^^^^^^^^^^^^^^^
   File "/usr/lib/python3/dist-packages/samba/netcmd/ntacl.py", line 
206, in run
     acl = getntacl(lp,
           ^^^^^^^^^^^^
   File "/usr/lib/python3/dist-packages/samba/ntacls.py", line 125, in
getntacl
     return smbd.get_nt_acl(file,
            ^^^^^^^^^^^^^^^^^^^^^
root at addc:~# cd 
/home/sysvol/domscribe.ac-test.fr/Policies/\{A343FF29-C355-44E2-80B9-1CD67B6134E3\}/
root at
addc:/home/sysvol/domscribe.ac-test.fr/Policies/{A343FF29-C355-44E2-80B9-1CD67B6134E3}#
ls -l
total 24
-rwxrwx---+ 1 BUILTIN/administrators users   68 avril 15 09:52 GPT.INI
drwxrwx---+ 2 BUILTIN/administrators users 4096 avril 15 09:53 Machine
drwxrwx---+ 2 BUILTIN/administrators users 4096 avril 15 09:52 User
root at
addc:/home/sysvol/domscribe.ac-test.fr/Policies/{A343FF29-C355-44E2-80B9-1CD67B6134E3}#
samba-tool ntacl get . --as-sddl
O:DAG:DAD:P(A;OICI;FA;;;DA)(A;OICI;FA;;;EA)(A;OICIIO;FA;;;CO)(A;OICI;FA;;;DA)(A;OICI;FA;;;SY)(A;OICI;0x1200a9;;;AU)(A;OICI;0x1200a9;;;ED)
root at
addc:/home/sysvol/domscribe.ac-test.fr/Policies/{A343FF29-C355-44E2-80B9-1CD67B6134E3}#
samba-tool ntacl get GPT.INI --as-sddl
O:BAG:DUD:(A;;FA;;;DA)(A;;FA;;;EA)(A;;FA;;;BA)(A;;FA;;;SY)(A;;0x1200a9;;;AU)(A;;0x1200a9;;;ED)
root at
addc:/home/sysvol/domscribe.ac-test.fr/Policies/{A343FF29-C355-44E2-80B9-1CD67B6134E3}#
samba-tool ntacl get Machine/ --as-sddl
ERROR(<class 'FileNotFoundError'>): uncaught exception - [Errno 2]
No
such file or directory: 'Machine/'
   File "/usr/lib/python3/dist-packages/samba/netcmd/__init__.py",
line
279, in _run
     return self.run(*args, **kwargs)
            ^^^^^^^^^^^^^^^^^^^^^^^^^
   File "/usr/lib/python3/dist-packages/samba/netcmd/ntacl.py", line 
206, in run
     acl = getntacl(lp,
           ^^^^^^^^^^^^
   File "/usr/lib/python3/dist-packages/samba/ntacls.py", line 125, in
getntacl
     return smbd.get_nt_acl(file,
            ^^^^^^^^^^^^^^^^^^^^^
# AFTER samba-tool ntacl sysvolreset
root at
addc:/home/sysvol/domscribe.ac-test.fr/Policies/{A343FF29-C355-44E2-80B9-1CD67B6134E3}#
samba-tool ntacl get . --as-sddl
O:DAG:DAD:P(A;OICI;FA;;;DA)(A;OICI;FA;;;EA)(A;OICIIO;FA;;;CO)(A;OICI;FA;;;DA)(A;OICI;FA;;;SY)(A;OICI;0x1200a9;;;AU)(OA;OICI;;edacfd8f-ffb3-11d1-b41d-00a0c968f939;;AU)(A;OICI;0x1200a9;;;ED)
root at
addc:/home/sysvol/domscribe.ac-test.fr/Policies/{A343FF29-C355-44E2-80B9-1CD67B6134E3}#
samba-tool ntacl get GPT.INI --as-sddl
O:DAG:DAD:P(A;OICI;FA;;;DA)(A;OICI;FA;;;EA)(A;OICIIO;FA;;;CO)(A;OICI;FA;;;DA)(A;OICI;FA;;;SY)(A;OICI;0x1200a9;;;AU)(OA;OICI;;edacfd8f-ffb3-11d1-b41d-00a0c968f939;;AU)(A;OICI;0x1200a9;;;ED)
root at
addc:/home/sysvol/domscribe.ac-test.fr/Policies/{A343FF29-C355-44E2-80B9-1CD67B6134E3}#
samba-tool ntacl get Machine/ --as-sddl
ERROR(<class 'FileNotFoundError'>): uncaught exception - [Errno 2]
No
such file or directory: 'Machine/'
   File "/usr/lib/python3/dist-packages/samba/netcmd/__init__.py",
line
279, in _run
     return self.run(*args, **kwargs)
            ^^^^^^^^^^^^^^^^^^^^^^^^^
   File "/usr/lib/python3/dist-packages/samba/netcmd/ntacl.py", line 
206, in run
     acl = getntacl(lp,
           ^^^^^^^^^^^^
   File "/usr/lib/python3/dist-packages/samba/ntacls.py", line 125, in
getntacl
     return smbd.get_nt_acl(file,
            ^^^^^^^^^^^^^^^^^^^^^
Le 14/04/2025 ? 16:38, Rowland Penny via samba a ?crit?:> On Mon, 14 Apr 2025 16:05:53 +0200
> Klaas TJEBBES via samba <samba at lists.samba.org> wrote:
> 
>> This example I gave is from a test server. A simple setup with 1 DC,
>> 1 fileserver and 2 Windows clients.
>>
>> Setting access rights with setfacl was just to try to understand what
>> the problems was. I should have presented the problem otherwise, like
>> this :
>>
>> I create a GPO in RSAT. At that point, rights on GPO are OK, I can
>> modify it no problems.
>> I get ACLs (getfacl -R) and ATTRs (getfattr -Rd) recursivly.
>> I run 'samba-tool ntacl sysvolreset'. At that point, problem
occurs,
>> GPO can no longer be modified.
>> I get ACLs (getfacl -R) and ATTRs (getfattr -Rd) recursivly again.
>>
>> The diffs between ACLs and ATTRs before/after are :
>>
>> ############ ACLs ##################
>>
>> # BEFORE samba-tool ntacl sysvolreset
>>
>> # file:
>>
home/sysvol/dom.ac-test.fr/Policies/{3A9B7602-1445-4B31-A625-176F2982C3AD}/GPT.INI
>> # owner: BUILTIN/administrators
>> # group: users
>> user::rwx
>> user:NT\040Authority/system:rwx
>> user:NT\040Authority/authenticated\040users:r-x
>> user:DOM/domain\040admins:rwx
>> user:DOM/enterprise\040admins:rwx
>> user:NT\040Authority/enterprise\040domain\040controllers:r-x
>> group::---
>> group:users:---
>> group:BUILTIN/administrators:rwx
>> group:NT\040Authority/system:rwx
>> group:NT\040Authority/authenticated\040users:r-x
>> group:DOM/domain\040admins:rwx
>> group:DOM/enterprise\040admins:rwx
>> group:NT\040Authority/enterprise\040domain\040controllers:r-x
>> mask::rwx
>> other::---
>>
>> # file:
>>
home/sysvol/dom.ac-test.fr/Policies/{3A9B7602-1445-4B31-A625-176F2982C3AD}/Machine/
>> # owner: BUILTIN/administrators
>> # group: users
>> user::rwx
>> user:NT\040Authority/system:rwx
>> user:NT\040Authority/authenticated\040users:r-x
>> user:DOM/domain\040admins:rwx
>> user:DOM/enterprise\040admins:rwx
>> user:NT\040Authority/enterprise\040domain\040controllers:r-x
>> group::---
>> group:users:---
>> group:BUILTIN/administrators:rwx
>> group:NT\040Authority/system:rwx
>> group:NT\040Authority/authenticated\040users:r-x
>> group:DOM/domain\040admins:rwx
>> group:DOM/enterprise\040admins:rwx
>> group:NT\040Authority/enterprise\040domain\040controllers:r-x
>> mask::rwx
>> other::---
>> default:user::rwx
>> default:user:BUILTIN/administrators:rwx
>> default:user:NT\040Authority/system:rwx
>> default:user:NT\040Authority/authenticated\040users:r-x
>> default:user:DOM/domain\040admins:rwx
>> default:user:DOM/enterprise\040admins:rwx
>> default:user:NT\040Authority/enterprise\040domain\040controllers:r-x
>> default:group::---
>> default:group:users:---
>> default:group:NT\040Authority/system:rwx
>> default:group:NT\040Authority/authenticated\040users:r-x
>> default:group:DOM/domain\040admins:rwx
>> default:group:DOM/enterprise\040admins:rwx
>> default:group:NT\040Authority/enterprise\040domain\040controllers:r-x
>> default:mask::rwx
>> default:other::---
>>
>>
>> # AFTER samba-tool ntacl sysvolreset
>>
>> # file:
>>
home/sysvol/dom.ac-test.fr/Policies/{3A9B7602-1445-4B31-A625-176F2982C3AD}/GPT.INI
>> # owner: DOM/domain\040admins
>> # group: DOM/domain\040admins
>> user::rwx
>> user:root:rwx
>> user:BUILTIN/administrators:rwx
>> user:BUILTIN/server\040operators:r-x
>> user:NT\040Authority/system:rwx
>> user:NT\040Authority/authenticated\040users:r-x
>> group::rwx
>> group:BUILTIN/administrators:rwx
>> group:BUILTIN/server\040operators:r-x
>> group:NT\040Authority/system:rwx
>> group:NT\040Authority/authenticated\040users:r-x
>> mask::rwx
>> other::---
>>
>> # file:
>>
home/sysvol/dom.ac-test.fr/Policies/{3A9B7602-1445-4B31-A625-176F2982C3AD}/Machine/
>> # owner: DOM/domain\040admins
>> # group: DOM/domain\040admins
>> user::rwx
>> user:root:rwx
>> user:BUILTIN/administrators:rwx
>> user:BUILTIN/server\040operators:r-x
>> user:NT\040Authority/system:rwx
>> user:NT\040Authority/authenticated\040users:r-x
>> group::rwx
>> group:BUILTIN/administrators:rwx
>> group:BUILTIN/server\040operators:r-x
>> group:NT\040Authority/system:rwx
>> group:NT\040Authority/authenticated\040users:r-x
>> mask::rwx
>> other::---
>> default:user::rwx
>> default:user:root:rwx
>> default:user:BUILTIN/administrators:rwx
>> default:user:BUILTIN/server\040operators:r-x
>> default:user:NT\040Authority/system:rwx
>> default:user:NT\040Authority/authenticated\040users:r-x
>> default:group::---
>> default:group:BUILTIN/administrators:rwx
>> default:group:BUILTIN/server\040operators:r-x
>> default:group:NT\040Authority/system:rwx
>> default:group:NT\040Authority/authenticated\040users:r-x
>> default:mask::rwx
>> default:other::---
>>
>> ######### ATTRs ########
>>
>> # BEFORE samba-tool ntacl sysvolreset
>>
>> # file:
>>
home/sysvol/dom.ac-test.fr/Policies/{3A9B7602-1445-4B31-A625-176F2982C3AD}/GPT.INI
>> user.DOSATTRIB=0sAAAFAAUAAAARAAAAIAAAABGDjqdErdsB
>>
user.SAMBA_PAI=0sAgSADwAAAAABZAAAAAAC/////wABZAAAAAAAxMYtAAABxMYtAAAAx8YtAAABx8YtAAAAwMYtAAABwMYtAAAAwsYtAAABwsYtAAAAw8YtAAABw8YtAAAA3MYtAAAB3MYtAA=>>
>> # file:
>>
home/sysvol/dom.ac-test.fr/Policies/{3A9B7602-1445-4B31-A625-176F2982C3AD}/Machine/
>> user.DOSATTRIB=0sAAAFAAUAAAARAAAAEAAAAHJtj6dErdsB
>>
user.SAMBA_PAI=0sAgSADwAPAAABZAAAAAAC/////wABZAAAAAAAxMYtAAABxMYtAAAAx8YtAAABx8YtAAAAwMYtAAABwMYtAAAAwsYtAAABwsYtAAAAw8YtAAABw8YtAAAA3MYtAAAB3MYtAAABZAAAAAAAwMYtAAAC/////wABZAAAAAMAxMYtAAMBxMYtAAMAx8YtAAMBx8YtAAsAwMYtAAMAwsYtAAMBwsYtAAMAw8YtAAMBw8YtAAMA3MYtAAMB3MYtAA=>>
>>
>> # AFTER samba-tool ntacl sysvolreset
>>
>> # file:
>>
home/sysvol/dom.ac-test.fr/Policies/{3A9B7602-1445-4B31-A625-176F2982C3AD}/GPT.INI
>>
user.SAMBA_PAI=0sAhSQDAAAAAABwMYtAAAAAAAAAAAC/////wAAAAAAAAMAwMYtAAMBwMYtAAMAwcYtAAMBwcYtAAMAwsYtAAMBwsYtAAMAw8YtAAMBw8YtAA=>>
>> # file:
>>
home/sysvol/dom.ac-test.fr/Policies/{3A9B7602-1445-4B31-A625-176F2982C3AD}/Machine/
>>
user.SAMBA_PAI=0sAhSQDAAMAAABwMYtAAAAAAAAAAAC/////wAAAAAAAAAAwMYtAAABwMYtAAAAwcYtAAABwcYtAAAAwsYtAAABwsYtAAAAw8YtAAABw8YtAAAAAAAAAAAC/////wABwMYtAAAAAAAAAAMAwMYtAAMBwMYtAAMAwcYtAAMBwcYtAAMAwsYtAAMBwsYtAAMAw8YtAAMBw8YtAA=>>
>>
>>
>> What do you think about this ?
> 
> Sorry, but I am not going to wade through that.
> Sysvol contains files and directories to be used by Windows GPOs and as
> such your output is meaningless to me. I do not really understand the
> output from 'SAMBA_PAI', whereas the output from 'samba-tool
ntacl get
> <FILE> --as-sddl' is easily understood.
> 
>>From what I posted earlier:
> 
>
O:DAG:DAD:P(A;OICI;FA;;;DA)(A;OICI;FA;;;EA)(A;OICIIO;FA;;;CO)(A;OICI;FA;;;DA)(A;OICI;FA;;;SY)(A;OICI;0x1200a9;;;AU)(OA;OICI;;edacfd8f-ffb3-11d1-b41d-00a0c968f939;;AU)(A;OICI;0x1200a9;;;ED)
> 
> That shows the permissions in a form that Windows expects, the start
> 'O:DAG:DA' shows that the owner is 'DA' and the group is
'DA', (DA
> being Domain Admins) and everything inside each '(....)' is called
an
> ACE and you can easily work out what each ACE allows and to whom.
> 
> I repeat, I cannot recommend setting the permissions on sysvol in the
> way you are doing it, use sysvolreset and samba-tool to read them.
> 
> Rowland
> 
> 
-- 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Klaas TJEBBES
- P?le Logiciel Libre (EOLE)
- DSI
- Dijon
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Rowland Penny
2025-Apr-15  08:44 UTC
[Samba] Access denied on GPO after "ntacl sysvolreset"
On Tue, 15 Apr 2025 10:03:59 +0200 Klaas TJEBBES via samba <samba at lists.samba.org> wrote:> Hi Rowland (and others) > > Here is what you were asking for. > As a sidenote, 'samba-tool ntacl get' is a bit buggy on some pathes. > I've left the tracebacks so you can understand what I'm talking about. > > But nevertheless, there are some differences between before and after > 'samba-tool ntacl sysvolreset'. This command does not set back the > access rights like Windows does. > > > # BEFORE samba-tool ntacl sysvolreset, just after creating a GPO in > RSAT > > root at addc:~# samba-tool ntacl get > /home/sysvol/domscribe.ac-test.fr/Policies/\{A343FF29-C355-44E2-80B9-1CD67B6134E3\}/ > --as-sddlWhy is 'sysvol' in '/home' ?? it should be in /var/lib/samba unless you have self compiled Samba into somewhere else (usually /usr/local/samba).> ERROR(<class 'FileNotFoundError'>): uncaught exception - [Errno 2] No > such file or directory: > '/home/sysvol/domscribe.ac-test.fr/Policies/{A343FF29-C355-44E2-80B9-1CD67B6134E3}/' > File "/usr/lib/python3/dist-packages/samba/netcmd/__init__.py", > line 279, in _run > return self.run(*args, **kwargs) > ^^^^^^^^^^^^^^^^^^^^^^^^^ > File "/usr/lib/python3/dist-packages/samba/netcmd/ntacl.py", line > 206, in run > acl = getntacl(lp, > ^^^^^^^^^^^^ > File "/usr/lib/python3/dist-packages/samba/ntacls.py", line 125, > in getntacl > return smbd.get_nt_acl(file, > ^^^^^^^^^^^^^^^^^^^^^ >I get the same sort of error if I have '/' on the end of the path, but it works if I remove it.> root at addc:~# cd > /home/sysvol/domscribe.ac-test.fr/Policies/\{A343FF29-C355-44E2-80B9-1CD67B6134E3\}/ > > root at addc:/home/sysvol/domscribe.ac-test.fr/Policies/{A343FF29-C355-44E2-80B9-1CD67B6134E3}# > ls -l > total 24 > -rwxrwx---+ 1 BUILTIN/administrators users 68 avril 15 09:52 GPT.INI > drwxrwx---+ 2 BUILTIN/administrators users 4096 avril 15 09:53 Machine > drwxrwx---+ 2 BUILTIN/administrators users 4096 avril 15 09:52 User > > root at addc:/home/sysvol/domscribe.ac-test.fr/Policies/{A343FF29-C355-44E2-80B9-1CD67B6134E3}# > samba-tool ntacl get . --as-sddl > O:DAG:DAD:P(A;OICI;FA;;;DA)(A;OICI;FA;;;EA)(A;OICIIO;FA;;;CO)(A;OICI;FA;;;DA)(A;OICI;FA;;;SY)(A;OICI;0x1200a9;;;AU)(A;OICI;0x1200a9;;;ED) > > root at addc:/home/sysvol/domscribe.ac-test.fr/Policies/{A343FF29-C355-44E2-80B9-1CD67B6134E3}# > samba-tool ntacl get GPT.INI --as-sddl > O:BAG:DUD:(A;;FA;;;DA)(A;;FA;;;EA)(A;;FA;;;BA)(A;;FA;;;SY)(A;;0x1200a9;;;AU)(A;;0x1200a9;;;ED) > > root at addc:/home/sysvol/domscribe.ac-test.fr/Policies/{A343FF29-C355-44E2-80B9-1CD67B6134E3}# > samba-tool ntacl get Machine/ --as-sddl > ERROR(<class 'FileNotFoundError'>): uncaught exception - [Errno 2] No > such file or directory: 'Machine/' > File "/usr/lib/python3/dist-packages/samba/netcmd/__init__.py", > line 279, in _run > return self.run(*args, **kwargs) > ^^^^^^^^^^^^^^^^^^^^^^^^^ > File "/usr/lib/python3/dist-packages/samba/netcmd/ntacl.py", line > 206, in run > acl = getntacl(lp, > ^^^^^^^^^^^^ > File "/usr/lib/python3/dist-packages/samba/ntacls.py", line 125, > in getntacl > return smbd.get_nt_acl(file, > ^^^^^^^^^^^^^^^^^^^^^ > > > # AFTER samba-tool ntacl sysvolreset > > root at addc:/home/sysvol/domscribe.ac-test.fr/Policies/{A343FF29-C355-44E2-80B9-1CD67B6134E3}# > samba-tool ntacl get . --as-sddl > O:DAG:DAD:P(A;OICI;FA;;;DA)(A;OICI;FA;;;EA)(A;OICIIO;FA;;;CO)(A;OICI;FA;;;DA)(A;OICI;FA;;;SY)(A;OICI;0x1200a9;;;AU)(OA;OICI;;edacfd8f-ffb3-11d1-b41d-00a0c968f939;;AU)(A;OICI;0x1200a9;;;ED) > > root at addc:/home/sysvol/domscribe.ac-test.fr/Policies/{A343FF29-C355-44E2-80B9-1CD67B6134E3}# > samba-tool ntacl get GPT.INI --as-sddl > O:DAG:DAD:P(A;OICI;FA;;;DA)(A;OICI;FA;;;EA)(A;OICIIO;FA;;;CO)(A;OICI;FA;;;DA)(A;OICI;FA;;;SY)(A;OICI;0x1200a9;;;AU)(OA;OICI;;edacfd8f-ffb3-11d1-b41d-00a0c968f939;;AU)(A;OICI;0x1200a9;;;ED) >They are want I expected and identical to a GPO on one of my DCs.> root at addc:/home/sysvol/domscribe.ac-test.fr/Policies/{A343FF29-C355-44E2-80B9-1CD67B6134E3}# > samba-tool ntacl get Machine/ --as-sddl > ERROR(<class 'FileNotFoundError'>): uncaught exception - [Errno 2] No > such file or directory: 'Machine/' > File "/usr/lib/python3/dist-packages/samba/netcmd/__init__.py", > line 279, in _run > return self.run(*args, **kwargs) > ^^^^^^^^^^^^^^^^^^^^^^^^^ > File "/usr/lib/python3/dist-packages/samba/netcmd/ntacl.py", line > 206, in run > acl = getntacl(lp, > ^^^^^^^^^^^^ > File "/usr/lib/python3/dist-packages/samba/ntacls.py", line 125, > in getntacl > return smbd.get_nt_acl(file, > ^^^^^^^^^^^^^^^^^^^^^Try that again but this time without the '/' on the end of 'Machine/'. Rowland