【发布时间】:2018-04-01 11:45:58
【问题描述】:
我正在尝试使用 pycharm 将 USB 设为只读。 我尝试使用我找到的代码,尽管它们在常规文件夹上工作,但它们不适用于 usb 目录。请帮帮我:)
import win32security
import ntsecuritycon as con
import getpass
file_name = r'F:\\' #THE USB
sd = win32security.GetFileSecurity(file_name, win32security.DACL_SECURITY_INFORMATION)
dacl = sd.GetSecurityDescriptorDacl()
ace_count = dacl.GetAceCount()
print('Ace count:', ace_count)
for i in range(0, ace_count):
dacl.DeleteAce(0)
userx, domain, type = win32security.LookupAccountName("", "my.user")
dacl.AddAccessAllowedAceEx(win32security.ACL_REVISION, 3, 1179785, userx) # Read only
sd.SetSecurityDescriptorDacl(1, dacl, 0) # may not be necessary
win32security.SetFileSecurity(file_name, win32security.DACL_SECURITY_INFORMATION, sd)
【问题讨论】:
-
只有 NTFS 支持 ACL。 FAT 没有,通常用于 USB 便携式驱动器。
标签: python security pycharm usb readonly