使用python在共享的Windows文件夹上创建权限

时间:2013-03-10 09:03:55

标签: python windows acl pywin32

我在python 3.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)

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:3)

win32security模块的替代方法是躲避并使用cacls程序,该程序更易于使用,请参阅http://support.microsoft.com/kb/162786/en-us,例如:

from subprocess import *

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

proc.wait()

print "Child exited with",proc.returncode

echo y是因为这个愚蠢的程序问“你确定吗?”题。在Windows 7上,cacl已弃用(但仍可使用),请改用icacls(或资源工具包中的xcalcs)。

当然,创建子进程不会像调用Win32 API那样高效。