本文整理汇总了Python中win32security.GetFileSecurity方法的典型用法代码示例。如果您正苦于以下问题:Python win32security.GetFileSecurity方法的具体用法?Python win32security.GetFileSecurity怎么用?Python win32security.GetFileSecurity使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类win32security
的用法示例。
在下文中一共展示了win32security.GetFileSecurity方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: get_owner
# 需要导入模块: import win32security [as 别名]
# 或者: from win32security import GetFileSecurity [as 别名]
def get_owner(self):
r""" Return the name of the owner of this file or directory.
This follows symbolic links.
On Windows, this returns a name of the form ur'DOMAIN\User Name'.
On Windows, a group can own a file or directory.
"""
if os.name == 'nt':
if win32security is None:
raise Exception("path.owner requires win32all to be installed")
desc = win32security.GetFileSecurity(
self, win32security.OWNER_SECURITY_INFORMATION)
sid = desc.GetSecurityDescriptorOwner()
account, domain, typecode = win32security.LookupAccountSid(None, sid)
return domain + u'\\' + account
else:
if pwd is None:
raise NotImplementedError("path.owner is not implemented on this platform.")
st = self.stat()
return pwd.getpwuid(st.st_uid).pw_name
示例2: get_file_owner
# 需要导入模块: import win32security [as 别名]
# 或者: from win32security import GetFileSecurity [as 别名]
def get_file_owner(self, file_path):
"""Returns the user name of the owner of the specified file.
@param file_path: The path of the file.
@type file_path: str
@return: The user name of the owner.
@rtype: str
"""
sd = win32security.GetFileSecurity(
file_path, win32security.OWNER_SECURITY_INFORMATION
)
owner_sid = sd.GetSecurityDescriptorOwner()
name, domain, account_type = win32security.LookupAccountSid(None, owner_sid)
if name == "Administrators":
return self.__local_administrators
else:
return "%s\\%s" % (domain, name)
示例3: set_file_owner
# 需要导入模块: import win32security [as 别名]
# 或者: from win32security import GetFileSecurity [as 别名]
def set_file_owner(self, file_path, owner):
"""Sets the owner of the specified file.
@param file_path: The path of the file.
@param owner: The new owner of the file. This should be a string returned by either `get_file_ower` or
`get_current_user`.
@type file_path: str
@type owner: str
"""
# Lookup the user info by their name. We need their sid, which will be in the 0th element of user_info.
domain_user = owner.split("\\")
user_info = win32security.LookupAccountName(domain_user[0], domain_user[1])
# Get the current acl so we can just replace the owner information.
owner_acl = win32security.GetFileSecurity(
file_path, win32security.OWNER_SECURITY_INFORMATION
)
owner_acl.SetSecurityDescriptorOwner(user_info[0], True)
win32security.SetFileSecurity(
file_path, win32security.OWNER_SECURITY_INFORMATION, owner_acl
)
示例4: __get_owner_windows
# 需要导入模块: import win32security [as 别名]
# 或者: from win32security import GetFileSecurity [as 别名]
def __get_owner_windows(self):
"""
Return the name of the owner of this file or directory. Follow
symbolic links.
Return a name of the form ``r'DOMAIN\\User Name'``; may be a group.
.. seealso:: :attr:`owner`
"""
desc = win32security.GetFileSecurity(
self, win32security.OWNER_SECURITY_INFORMATION)
sid = desc.GetSecurityDescriptorOwner()
account, domain, typecode = win32security.LookupAccountSid(None, sid)
return domain + '\\' + account
示例5: check_permissions
# 需要导入模块: import win32security [as 别名]
# 或者: from win32security import GetFileSecurity [as 别名]
def check_permissions(path, logger):
logger.info("I am", win32api.GetUserNameEx(win32con.NameSamCompatible))
logger.info(path)
sd = win32security.GetFileSecurity(path, win32security.OWNER_SECURITY_INFORMATION)
owner_sid = sd.GetSecurityDescriptorOwner()
name, domain, _ = win32security.LookupAccountSid(None, owner_sid)
logger.info("File owned by %s\\%s" % (domain, name))