Copy of:
nxzai#367
Problem description
Copy/Move-Paste fails in a dataset with restricted ACL mode because chmod/chown is not allowed.
Reproduction Example:
printf 'copy test\n' > nx-test.txt
cp -v nx-test.txt nx-test-cp.txt
# succeeds
node -e "require('node:fs').copyFileSync('nx-test.txt', 'nx-test-node.txt')"
# fails: EPERM operation not permitted, copyfile
cp -av nx-test.txt nx-test-archive.txt
# content is copied, then fails:
# can't preserve permissions: Operation not permitted
Environment:
TrueNAS SCALE 25.10, host-path-mounted ZFS dataset using NFSv4/SMB ACLs with aclmode=restricted. NextExplorer deployed as docker app. The app can browse, create, rename, and delete. The container runs as root.
Changing ACL mode to passthrough: Copy works again without error.
Feature Request
Please add a copy mode that does not preserve/chmod/chown file metadata, or fall back to a stream-based copy when fs.copyFile() returns EPERM. This is required for restricted ACL datasets where new files must inherit the destination directory ACL unchanged, e.g. because they are used with additional SMB access.
This could either be implemented as a fallback when fs.copyFile() returns EPERM or just be a global toggle: Preserve file mode/metadata on copy: disabled
Copy of:
nxzai#367
Problem description
Copy/Move-Paste fails in a dataset with restricted ACL mode because chmod/chown is not allowed.
Reproduction Example:
Environment:
TrueNAS SCALE 25.10, host-path-mounted ZFS dataset using NFSv4/SMB ACLs with
aclmode=restricted. NextExplorer deployed as docker app. The app can browse, create, rename, and delete. The container runs as root.Changing ACL mode to passthrough: Copy works again without error.
Feature Request
Please add a copy mode that does not preserve/chmod/chown file metadata, or fall back to a stream-based copy when
fs.copyFile()returns EPERM. This is required for restricted ACL datasets where new files must inherit the destination directory ACL unchanged, e.g. because they are used with additional SMB access.This could either be implemented as a fallback when
fs.copyFile()returns EPERM or just be a global toggle:Preserve file mode/metadata on copy:disabled