如何获得特定用户的目录的r / w权限?

时间:2014-02-27 07:33:11

标签: python windows

我的python脚本创建了一个文件夹,每个用户一个。我想创建权限/授予权限,其中只有一个特定用户只能访问一个特定目录而不能访问其他文件夹。例如,python脚本创建folder1,文件夹2,...我希望folder1只能由用户1读取,而folder2只能由user2 ...等。在Windows Server 2008上工作。 谢谢。

2 个答案:

答案 0 :(得分:0)

os.chown(path, uid, gid)更改路径所有者,然后使用模式700更改os.chmod(path, mode)(只有您可以读取,写入或执行路径)。我认为这应该有效..

--- --- EDIT

显然chown适用于Windows。看起来你需要win32security模块,它是pywin32的一部分。 here是一个答案,展示了如何使用它更改权限。

答案 1 :(得分:0)

Win32安全API不适合胆小的人。最简单的解决方案是使用caclsicacls从Python调用的subprocesssystem等外部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。