Python在Windows中获取文件的group_id权限列表?

时间:2016-10-25 07:06:46

标签: python windows python-2.7 permissions

我能在一分钟内为Linux做到这一点,但对于我的生活,我找不到Windows的答案。

我尝试os.stat,但据我所知,该模块可能无法正常使用某些Python和Windows版本。

我在win32net找不到任何可以提供文件路径并从中获取信息的方法。

请帮忙!

2 个答案:

答案 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())