So my root dataset had SMB ACLs and I cant remove them!

Hi!
So I just finished moving from hdd pool to ssd pool (with replication). Everything good, except that I have SMB ACLs in root dataset and I cant remove them.
I did try multiple commands and ownership shit, but nothing help.
I cant strip ACLs, because it does not allow it
I mean IDK how that even happen…But I would like help!!!

I dont have anymore hdds to copy back and remake whole ssd pool. There must be some command to force strip ALCs and go back to just root:root.

thanks everyone for help!

What version of TrueNAS is this?

Latest one
24.10.0.2

Photos: imgurDOTcom/a/7neTI4j

You you can try the following command to “reset” the ACL:
nfs4xdr_setfacl -b <file>

From the man page:

       -b, --strip
              strip file's ACL (convert to one synthesized from POSIX mode).

It sounds like maybe you replicated over the root-level dataset of the SSD pool (e.g. eliminated a level).

1 Like

will try…but where is that file? I dont see any files there.

I did a replication for all datasets, expect main one. my old pool name is “main” so I didnt choose “main” to replicate but I did choose each dataset itself (or I guess child one).

Well I guess that did it…although I got error with that command, I guess it did a thing. So thanks for help! I dont even know if that was the fix, but thanks again I guess.

Do you remember what the error was? Might be good to know, just to make sure there is nothing wrong with the pool.

TBH I dont know:
But here is output of command:
nfs4xdr_setfacl: Failed to get NFSv4 ACL
Failed to instantiate ACL.
An error occurred during recursive file tree walk.

after that it just worked…ACLs were gone and just worked.

That sounds like you used the recursive flag (-R)?

I indeed used it.
sudo nfs4xdr_setfacl -b -R This is command I used.

With the recursive option that command will attempt to strip the ACL of every file and folder, it doesn’t stop at dataset boundaries. You likely have some dataset that doesn’t use nfs4 acls (maybe acltype=off or acltype=posix) and that’s where the command failed.

1 Like

ohhh…That make sense. So yeah well thanks for help!