python 查看文件夹权限组和用OS模块操作文件夹

2017-01-11 15:22:57来源:作者:sinniejm人点击

@建议操作server服务器文件夹时可以映射网络驱动盘


import win32securityimport ntsecuritycon as con


FILENAME = r'D:tmpacc_test'  #文件夹路径


sd = win32security.GetFileSecurity(FILENAME, win32security.DACL_SECURITY_INFORMATION)dacl = sd.GetSecurityDescriptorDacl()


ace_count = dacl.GetAceCount() #显示具有文件夹权限用户(组)数量print('Ace count:', ace_count)


for i in range(0, ace_count): rev, access, usersid = dacl.GetAce(i) user, group, type = win32security.LookupAccountSid('', usersid) print('User: {}/{}'.format(group, user), rev, access)User: user (0, 0) 1179817 #只有该文件夹,查看权限User: admin (0, 0) 1245631 #只有该文件夹,修改权限User: administrator (0, 3) 2032127 #此文件夹,子文件夹 全部权限


#删除文件夹权限Now you are able to read old ACEs and deleting old ones is quite simple:for i in range(0, ace_count): dacl.DeleteAce(0)


#掉用add增加权限And after that you can just add privileges by calling AddAccessAllowedAceEx() [MSDN]:userx, domain, type = win32security.LookupAccountName ("", "your.user")usery, domain, type = win32security.LookupAccountName ("", "other.user")



dacl.AddAccessAllowedAceEx(win32security.ACL_REVISION, 3, 2032127, userx) # 完全控制 @中间3代表权限会被后面文件夹继承 0:不会dacl.AddAccessAllowedAceEx(win32security.ACL_REVISION, 3, 1179785, usery) # 只读权限


sd.SetSecurityDescriptorDacl(1, dacl, 0) #可能没有必要win32security.SetFileSecurity(FILENAME, win32security.DACL_SECURITY_INFORMATION, sd)I've taken numbers 3, 2032127 and 1179785 from the listing in first half of the script (before running the script I've set up privileges in Explorer->Right Click->Properties->Security->Advanced):#


##例子# try:# permit = '1179817'# acegroup = 'Users'# folder = 'Z:/50.测试文件夹/01.2'# sd = win32security.GetFileSecurity(folder, win32security.DACL_SECURITY_INFORMATION)# dacl = sd.GetSecurityDescriptorDacl()# user1, domain, type = win32security.LookupAccountName('', acegroup)## permisson = int(permit)# dacl.AddAccessAllowedAceEx(win32security.ACL_REVISION, 0, permisson, user1) #中间的0 表示只有该文件夹 3表示此文件夹,子文件# sd.SetSecurityDescriptorDacl(1, dacl, 0) # may not be necessary# win32security.SetFileSecurity(folder, win32security.DACL_SECURITY_INFORMATION, sd)# except Exception as e:# print(e)


#python 的os模块操控文件夹#import os#import shutil


# try:# os.mkdir(r'Z:50.测试文件夹1.2') #新建文件夹# except Exception as e:# print(e)


# try:# os.rename(r'Z:50.测试文件夹1.2',r'Z:50.测试文件夹1.3') #重命名文件夹# except Exception as e:# print(e)


# try:# shutil.rmtree(r'Z:/50.测试文件夹/01.3') ##删除名文件夹# except Exception as e:# print(e)PS.调用cmd操控文件夹http://jingyan.baidu.com/article/d3b74d64c853081f77e60929.html 下载安装pywin32#创建文件夹def createfolder(request): folder=r'Z:/50.测试文件夹/01.3' result={} try: #用wmi连接到远程服务器 pythoncom.CoInitialize() conn = wmi.WMI(computer=‘192.168.0.1’, user='user', password='user') cmd_callbat=r"cmd.exe /c mkdir %s" % folder conn.Win32_Process.Create(CommandLine=cmd_callbat) #执行bat文件 result['isSuccess']=True result['message']=' 添加成功' except Exception as e: print(e) result['isSuccess'] = False result['message'] = ' 添加失败'+e response = HttpResponse() response['Content-Type'] = "text/javascript" response.write(json.dumps(result)) return response



来源http://jingyan.baidu.com/article/f3ad7d0ffe8b1409c2345b43.htmlhttp://www.programcreek.com/python/index/478/win32security


内容来源:http://www.cnblogs.com/shenchangjiang/p/san.html

最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台