从 Linux 控制 Samba 共享上的 Windows 权限

从 Linux 控制 Samba 共享上的 Windows 权限

我有一台 Debian 8,其中 Samba 4 是 AD 域成员。DC 是 Windows Server 2008。共享能够处理 Windows 权限 - 我使用 IDMAP backend = rid,因为我无法将 uidNumber 和 gidNumber 添加到 AD 帐户记录。

getfacl我可以使用和显示和设置 ACL 权限setfacl,但 RWX 设置无法设置细级别的 Windows 权限(获取所有权、读取属性、设置权限、完全控制......)

那么,是否有可能从 Linux 管理(或至少显示)共享文件/文件夹的高级 Windows 权限?

重点是,我想编写一个脚本,定期检查所有共享文件是否具有我想要的权限。如果出现问题,则发出警报,因此这将是某种类型的所需权限的实时文档检查。

答案1

最终我自己发现了。

Windows 权限存储在“扩展属性”中。这些属性的原始数据可以通过xattrDebian 包显示python-xattr

xattr -l <local_path>

要显示和操作这些权限,你可以使用smbcaclsDebian 包smbclient

smbcacls //localhost/share <path_within_share>

在上面命令的输出中,有一些神秘的值,如 CI、OI、I、FULL……这些值的详细解释如下:https://lists.samba.org/archive/samba-technical/2010-June/071390.html

相关内容