我有一台 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 权限存储在“扩展属性”中。这些属性的原始数据可以通过xattr
Debian 包显示python-xattr
:
xattr -l <local_path>
要显示和操作这些权限,你可以使用smbcacls
Debian 包smbclient
:
smbcacls //localhost/share <path_within_share>
在上面命令的输出中,有一些神秘的值,如 CI、OI、I、FULL……这些值的详细解释如下:https://lists.samba.org/archive/samba-technical/2010-June/071390.html