我的python脚本创建了一个文件夹,每个用户一个。我想创建权限/授予权限,其中只有一个特定用户只能访问一个特定目录而不能访问其他文件夹。例如,python脚本创建folder1,文件夹2,...我希望folder1只能由用户1读取,而folder2只能由user2 ...等。在Windows Server 2008上工作。 谢谢。
答案 0 :(得分:0)
os.chown(path, uid, gid)
更改路径所有者,然后使用模式700更改os.chmod(path, mode)
(只有您可以读取,写入或执行路径)。我认为这应该有效..
--- --- EDIT
显然chown
适用于Windows。看起来你需要win32security
模块,它是pywin32的一部分。 here是一个答案,展示了如何使用它更改权限。
答案 1 :(得分:0)
Win32安全API不适合胆小的人。最简单的解决方案是使用cacls
或icacls
从Python调用的subprocess
或system
等外部Microsoft程序。 cacls
相当混乱:
cmd = r"echo y|cacls gash.txt /E /G BUILTIN\\Users:R"
联机帮助(Windows XP)和here中记录了 cacls
。它可能会输出提示(取决于操作)“你确定(是/否)?”,这就是我们在示例中有echo y|
的原因(参见here)。或者使用Windows资源工具包中的xcacls.exe
- 此版本不会提示。
在Windows Vista和Windows 7上,cacls
程序仍然有效,但不赞成使用功能更强大的icacls
程序,感谢不提示。对不起,我没有Windows 8。