首页 > 解决方案 > 如何使用 python 保护 Windows 中用户的文件夹访问权限

问题描述

实际上,我希望该用户无法访问文件夹,而我存储在文件夹中的图像甚至无法打开该文件夹。我正在使用 Windows 操作系统。我想用python来做,我尝试了很多但找不到解决方案。谁能帮助我。先感谢您

标签: pythondirectorylocking

解决方案


设置文件夹权限

您需要该win32security模块,它是pywin32的一部分。这是一个做你想做的事情的例子:

import win32security
import ntsecuritycon as con

FILENAME = "whatever"

userx, domain, type = win32security.LookupAccountName ("", "User X")
usery, domain, type = win32security.LookupAccountName ("", "User Y")

sd = win32security.GetFileSecurity(FILENAME, 
win32security.DACL_SECURITY_INFORMATION)
dacl = sd.GetSecurityDescriptorDacl()   # instead of dacl = 
win32security.ACL()

dacl.AddAccessAllowedAce(win32security.ACL_REVISION, con.FILE_GENERIC_READ | 
con.FILE_GENERIC_WRITE, userx)
dacl.AddAccessAllowedAce(win32security.ACL_REVISION, con.FILE_ALL_ACCESS, usery)

sd.SetSecurityDescriptorDacl(1, dacl, 0)   # may not be necessary
win32security.SetFileSecurity(FILENAME, 
win32security.DACL_SECURITY_INFORMATION, sd)

推荐阅读