繁体   English   中英

用户无权使用os.chmod()

[英]User doesn't have permission to use os.chmod( )

我正在尝试打开一个新文件,并立即赋予它完整的系统读取/写入/执行权限。 我这样做是这样的:

csvout = open("/Users/me/Google Drive/documentation/report.csv","w")
os.chmod("/Users/me/Google Drive/documentation/report.csv", 0o777)

此命令适用于我和另一个同事(谁通过她的帐户/ Users / coworker /运行该命令,但将其保存到我的帐户中的目录中,该目录已授予我完全的读取/写入权限)。 但是,第二个同事到达os.chmod行时会收到错误消息,因为他显然无权在文件上使用chmod。

有时report.csv文件在运行之前就已存在,而有时却不存在,但是我看不到会有什么变化,因为无论如何,通过使用“ w”选项打开文件将其覆盖。

当父目录启用了完整的系统特权时,导致仅某些用户无法使用chmod命令的问题可能出在哪里?

仅文件所有者(或超级用户)可以更改其权限。 当第二个用户运行脚本时,他们不是所有者(第一个用户是所有者),因此会出现错误。

第一个运行该脚本的用户将创建文件,然后为其赋予777权限,该权限允许任何人写入该文件。

然后,下一个用户将能够打开文件进行写入。 当他们尝试使用os.chmod() ,将得到一个错误,因为他们不是文件所有者。 但是由于它已经具有所需的权限,所以这不应该成为问题。

os.chmod()调用周围使用try块可忽略该错误。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM