Tested with Samba 4.17.12 (but same code in 4.21). When using "vfs objects = acl_tdb" it is not possible to remove files or irectories in share. The log always shows "rmdir_internals: couldn't remove .... : No such file or directory" The cause is in file source3/modules/vfs_acl_tdb.c in function unlinkat_acl_tdb() The call "vfs_stat(handle->conn, smb_fname_tmp);" does a stat with the filename only, without the full path. It always fails! Removing this stat call and let the rest of the code do its job, all works.
Created attachment 18540 [details] patch Do you have the chance to test the attached patch?
The patch does not work. The call to full_path_from_dirfsp_atname() creates just the relative path for the share. But vfs_stat() obviously needs the full path. I just removed the call to vfs_stat() and removal is possible then. But I found another problem. Removing a directory works fine then, but removing a file causes an error. The file is removed, but a "no such file or directory" is returned anyway. And samba crashes with panic. In the log it shows: dbwrap_lock_order_lock: Lock order violation: Trying /var/lib/samba/file_ntacls.tdb at 1 while /run/samba/locking.tdb at 1 is locked