是否可以在 Windows 上获取文件的 UID(所有者)?我尝试使用FileInfo.Sys()
,但它只适用于Linux。我真的很困惑这个问题,不知道如何获取 UID。
第一个问题是,Windows 本机支持文件/目录所有权的文件系统没有“所有者 UID”的概念,因为 Windows 用户也没有 UID。
Windows NT 线路或内核的安全性是使用所谓的“访问控制列表”(ACL) 来实现的,并且安全主体(例如用户)是使用所谓的“安全标识符”(SID) 来标识的。 ASID是一种可变长度的多字段数据结构 https://msdn.microsoft.com/en-us/library/cc230371.aspx通常作为字节数组传递。
另一个复杂的情况是,启用 ACL 的 Windows 文件系统上的文件可能根本没有所有者(也没有附加 ACL);这种情况很少见,但也是可能的。
所以...如果说明“Windows 文件系统上不存在条目所有者 UID 之类的东西”的部分对您来说没问题,那么这就是全部内容了。
如果没有,并且您实际上想问“如何获取 Windows 文件系统上的条目的安全信息?”,问题就会变得更加复杂。
据我所知,Go 附带的库存标准库没有围绕 Win32 API 的相关位提供必要的包装器。因此,要实现这一点,您需要自己包装它们(毕竟这并不难)或尝试找到一个帮助程序包。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)