使用python创建共享windows文件夹的权限

使用python创建共享windows文件夹的权限,python,windows,acl,pywin32,Python,Windows,Acl,Pywin32,我在Python3.3和pywin32库中使用这段代码来共享一个文件夹。 我现在如何将任务添加到文件夹中?以下代码未设置对共享文件夹的权限。我想将特定用户添加为读/写 import win32net import win32netcon shinfo={} shinfo['netname']='python test' shinfo['type']=win32netcon.STYPE_DISKTREE shinfo['remark']='data files' shinfo['permiss

我在Python3.3和pywin32库中使用这段代码来共享一个文件夹。 我现在如何将任务添加到文件夹中?以下代码未设置对共享文件夹的权限。我想将特定用户添加为读/写

import win32net
import win32netcon

shinfo={}

shinfo['netname']='python test'
shinfo['type']=win32netcon.STYPE_DISKTREE
shinfo['remark']='data files'
shinfo['permissions']=0
shinfo['max_uses']=-1
shinfo['current_uses']=0
shinfo['path']='C:\\sharedfolder'
shinfo['passwd']=''
server='192.168.1.100'

win32net.NetShareAdd(server,2,shinfo)
您应该尝试使用Win32安全模块。该站点显示了一个使用它设置用户权限的示例

您应该尝试使用win32security模块。站点显示了一个使用它设置用户权限的示例

win32security模块的替代方案是退出并使用cacls程序,该程序更易于使用,例如,请参见:

from subprocess import *

proc = Popen("echo y|cacls filename /E /G BUILTIN\\Users:R", shell=True) 

proc.wait()

print "Child exited with",proc.returncode
回音y是因为这个愚蠢的程序问了一个问题,你确定吗?问题在windows 7上,CACL已被弃用,但仍然有效,请改用icacls或资源工具包中的xcalcs

当然,创建子进程来执行此操作的效率不如调用Win32 API。

Win32安全模块的另一种替代方法是退出并使用cacls程序,该程序更易于使用,例如,请参见:

from subprocess import *

proc = Popen("echo y|cacls filename /E /G BUILTIN\\Users:R", shell=True) 

proc.wait()

print "Child exited with",proc.returncode
回音y是因为这个愚蠢的程序问了一个问题,你确定吗?问题在windows 7上,CACL已被弃用,但仍然有效,请改用icacls或资源工具包中的xcalcs


当然,创建子进程来执行此操作的效率不如调用Win32 API。

使用Win32安全模块而不是icacls有什么好处?@TechDude:Efficiency:调用子进程(shell和cacls)的效率总是低于直接使用API的效率。如果您定期更改大量文件权限,您会注意到其中的差异。与icacls相反,使用Win32安全模块有什么好处?@TechDude:Efficiency:调用子进程shell和cacls的效率总是低于直接使用API的效率。如果您定期更改大量文件权限,则会注意到差异。