我能在一分钟内为Linux做到这一点,但对于我的生活,我找不到Windows的答案。
我尝试os.stat
,但据我所知,该模块可能无法正常使用某些Python和Windows版本。
我在win32net
找不到任何可以提供文件路径并从中获取信息的方法。
请帮忙!
答案 0 :(得分:1)
研究互联网后,我找到了一种解决方案。 (https://sites.google.com/site/hvanbelle/programming/python/python---win32security/python---win32security---list-permissions)
import os, sys
import win32security
dacl = win32security.GetNamedSecurityInfo (path,
win32security.SE_FILE_OBJECT,win32security.DACL_SECURITY_INFORMATION
).GetSecurityDescriptorDacl ()
for n_ace in range (dacl.GetAceCount ()):
ace = dacl.GetAce (n_ace)
sid = ace[-1]
name, domain, type = win32security.LookupAccountSid (None, sid)
print("%s \\%s " % (domain, name)
答案 1 :(得分:0)
这似乎得到了我想要的信息。
import win32net
import win32security
security_descriptor = win32security.GetFileSecurity("my\\path", win32security.GROUP_SECURITY_INFORMATION)
win32security.LookupAccountSid(win32net.NetGetAnyDCName(), security_descriptor.GetSecurityDescriptorGroup())