python的拥有者_如何在没有pywin32的情况下使用python确定Windows上的文件所有者

下面使用ctypes调用

GetNamedSecurityInfo.最初它跟随问题中链接的

code snippet,但GetNamedSecurityInfo一般比GetFileSecurity更有用,特别是因为它与SetNamedSecurityInfo配对而不是过时的函数SetFileSecurity.

ctypes和类

import ctypes as ctypes

from ctypes import wintypes as wintypes

kernel32 = ctypes.WinDLL('kernel32', use_last_error=True)

advapi32 = ctypes.WinDLL('advapi32', use_last_error=True)

ERROR_INVALID_FUNCTION = 0x0001

ERROR_FILE_NOT_FOUND = 0x0002

ERROR_PATH_NOT_FOUND = 0x0003

ERROR_ACCESS_DENIED = 0x0005

ERROR_SHARING_VIOLATION = 0x0020

SE_FILE_OBJECT = 1

OWNER_SECURITY_INFORMATION = 0x00000001

GROUP_SECURITY_INFORMATION = 0x00000002

DACL_SECURITY_INFORMATION = 0x00000004

SACL_SECURITY_INFORMATION = 0x00000008

LABEL_SECURITY_INFORMATION = 0x00000010

_DEFAULT_SECURITY_INFORMATION = (OWNER_SECURITY_INFORMATION |

GROUP_SECURITY_INFORMATION | DACL_SECURITY_INFORMATION |

LABEL_SECURITY_INFORMATION)

LPDWORD = ctypes.POINTER(wintypes.DWORD)

SE_OBJECT_TYPE = wintypes.DWORD

SECURITY_INFORMATION = wintypes.DWORD

class SID_NAME_USE(wintypes.DWORD):

_sid_types = dict(enumerate('''

User Group Domain Alias WellKnownGroup DeletedAccount

Invalid Unknown Computer Label'''.split(), 1))

def __init__(self, value=Non

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值