Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用python修改文件访问控制列表?_Python_Acl_Access Control_Chmod - Fatal编程技术网

如何使用python修改文件访问控制列表?

如何使用python修改文件访问控制列表?,python,acl,access-control,chmod,Python,Acl,Access Control,Chmod,我有一个脚本,它在python中执行大量文件操作,但我遇到了麻烦,因为我经常遇到ACL设置为“group:everybody deny delete”之类的文件 对于其他权限问题,我使用了os.chmod来解决问题,但找不到如何使用此方法或其他方法删除或修改ACL 在macOS上您可以直接调用chmod: # exceptions: # subprocess.CalledProcessError: # Command '['chmod', '-h', '-a', 'everyo

我有一个脚本,它在python中执行大量文件操作,但我遇到了麻烦,因为我经常遇到ACL设置为“group:everybody deny delete”之类的文件


对于其他权限问题,我使用了
os.chmod
来解决问题,但找不到如何使用此方法或其他方法删除或修改ACL

macOS上您可以直接调用
chmod

# exceptions: 
#   subprocess.CalledProcessError:
#       Command '['chmod', '-h', '-a', 'everyone deny delete', 
#                 '/Users/liviu/Music']' returned non-zero exit status 1
if 0:
    subprocess.check_call(['chmod', '-h', '-a', 'everyone deny delete', os.path.expanduser('~/Music')])

proc = subprocess.Popen(['chmod', '-h', '+a', 'everyone deny delete', os.path.expanduser('~/Music')])
proc.communicate()
我想在Unix es上有一个与之相当的命令行
现在,Windows是另一回事,但你可以一直依靠它。

你试过
os.chmod(“/tmp/foo.txt”,stat.S_IWOTH)
?是的,在无意中发现ACL之前,我尝试了各种权限操作。我的各种测试都不起作用,所以我确信这是ACL设置。当我通过命令行chmod删除设置时,它就可以工作了,我只是想看看pythonjust在pylibacl中是如何完成的。它看起来像我需要的,除了它似乎只是linux,我正在跨平台编写这个脚本。虽然起点不错,谢谢