python查看文件夹文件的所有权限_python查看文件夹权限组和用OS模块操作文件夹...

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

import win32security

import ntsecuritycon as con

FILENAME = r'D:\tmp\acc_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.测试文件夹\01.2') #新建文件夹

# except Exception as e:

# print(e)

# try:

# os.rename(r'Z:\50.测试文件夹\01.2',r'Z:\50.测试文件夹\01.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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值