Shared Folder ACL-Privileges not written to disk (ZFS)

  • Title: S


    ### Environment

    - OpenMediaVault 8.3.1-2 (Synchrony)

    - Debian 13.1 (Trixie), kernel 6.12.90+deb13.1-amd64

    - openmediavault-zfs plugin (version: 8.1.1)

    - ZFS pool "work": mirror (2x SATA HDD), ashift=12, compression=off

    - Nested datasets created via `zfs create`: work/personal-storage/ben


    ### Summary

    When a Shared Folder's Filesystem+Relative-Path combination resolves into the mountpoint of a nested (child) ZFS dataset — rather than a plain subdirectory of the referenced Filesystem's own mountpoint — the Shared Folder's Privileges/ACL settings appear to save successfully in the UI but are never actually written to disk. SMB write access for the assigned user fails, while read/browse access still works because the directory retains its ZFS-created default permissions (root:root, 0755).


    ### Steps to reproduce

    1. Create a ZFS pool "work" (mirror) via Storage → ZFS → Pools.

    2. Create a nested child dataset via CLI: `zfs create work/personal-storage/ben`.

    3. Storage → Shared Folders → Add: the "Filesystem" dropdown only offers the pool root ("work") — no child datasets are selectable (related: #1070).

    4. Create a Shared Folder with Filesystem = "work", Relative Path = "personal-storage/ben". It is created successfully; the listed Absolute Path correctly shows /work/personal-storage/ben, status "Available".

    5. Open this Shared Folder's Privileges/ACL, assign user "ben" = Read/Write, Save, apply pending changes.

    6. On the server: `getfacl /work/personal-storage/ben`.


    ### Expected behavior

    Directory shows an ACL entry `user:ben:rwx`; the SMB share built on this Shared Folder allows ben to write.


    ### Actual behavior

    `getfacl` shows only the three default POSIX entries, no user-specific entry; owner/group stay root:root, mode 0755 — regardless of how many times the Privileges dialog is edited, saved, and applied. SMB write fails for ben from an actual client (tested from both macOS and Windows) even though the SMB share's own per-user permission list correctly shows the target user as Read/Write and "read only" unset.


    Manually running `setfacl -m u:ben:rwx /work/personal-storage/ben` on the server immediately fixes SMB write access for that user, confirming the export path itself is correct and only the ACL-deployment step fails to reach it.


    Reproduced identically for four separate Shared Folders, all following the same pattern (Filesystem="work", relative path into a nested child dataset).


    ### Workaround

    Set ACLs directly via `setfacl` over SSH on the real absolute path.

  • markus_k

    Changed the title of the thread from “Shared Folder ACL/Privileges not written to disk when path resolves into a nested ZFS child dataset's mountpoint” to “Shared Folder ACL-Privileges not written to disk (ZFS)”.
    • Official Post

    I added tests to the test-rpc script to try to reproduce your problems. I was not able to reproduce them. If setfacl call was failing on OMV itself, it should throw an error.

    omv 8.5.11-1 synchrony | 7.0 proxmox kernel

    plugins:

    omvextrasorg 8.0.3 | kvm 8.3.4 | compose 8.2.2 | cterm 8.0.4 | borgbackup 8.2.1 | tempmon 8.0.5 |

    mergerfs 8.0.2 | scripts 8.0.6 | writecache 8.3.0 | backup 8.1 | kernel 8.1


    omv-extras.org plugins source code and issue tracker - github - changelogs


    Please try ctrl-shift-R and read this before posting a question.

    Please put your OMV system details in your signature.
    Please don't PM for support... Too many PMs!

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!