我正在为 Oracle ZFS 存储设备(“ZS3”)开发一个使用 REST API 的脚本。该脚本使用 API 制作生产环境的快照和克隆,以用作临时测试环境。到目前为止一切都很好......除了我找不到为 SMB 协议指定“共享级别 ACL”设置的方法。
手动(通过 web ui)克隆会导致默认 ACL 为“所有人,完全访问”。原始共享(快照/克隆的源)的 ACL 具有带有特定 ACL 的特定用户列表。我假设此信息不在 ZFS 快照中,而是在 ZFS 之外维护,因此它不存在于克隆中(问:这是正确的吗?)。
我已经重读了几次 Oracle 文档“E56084.pdf”(“Oracle ZFS Storage Appliance RESTful API Guide,Release 2013.1.4.0”)。对“sharesmb”属性的引用含糊不清,没有其他与 SMB 或 ACL 相关的内容。我的脚本在传递给 API 以创建文件系统克隆的 JSON 有效负载中正确地将“sharesmb”值(用于启用 SMB 共享)设置为“sharesmb=SHARENAME,abe=off,dfsroot=false”。但是,我看不到可以为实际 ACL 列表设置的属性。对于 NFS,这很容易,它是“sharenfs”属性中传递的值。
源项目和共享的“GET”结果不包含对“SMB 共享级别 ACL”中列出的用户的任何引用,如 Web UI 中所示。
那么,如何通过 REST api 复制或在必要时显式设置共享上的“SMB 共享级别 ACL”?
谢谢!