我创建了一个需要sudo
权限才能运行的 Python 脚本(执行 ICMP 请求)。此脚本会创建一个小目录和几个.csv
文件以及一个log.txt
文件。首先,运行该程序后,我能够在运行测试目录和文件创建后删除工件。
现在,OS X Finder 突然要求我授予删除目录和日志文件的权限。我chmod 775 *
对模块所在的目录执行了删除文件夹和文件的操作。但是,再次运行脚本后,它又要求我再次满足权限要求。另外chmod
,我可以删除文件和文件夹。但是,每次运行该程序时都会遇到同样的问题。
关于如何永久修复此问题,有什么建议吗?
答案1
根据上述操作者与我之间的评论,权限问题的根本原因是 Python 脚本中创建的文件夹/文件归 root 所有,而不是操作者的用户帐户。运行时创建的任何内容sudo
都将归 root 所有。
解决方法是在脚本中包含chmod
或chown
命令,授予 op 的用户帐户删除文件/文件夹的权限。我建议chown
,因为 Finder(在 Mavericks 中)可能会检测到 root 是所有者并提示用户。即使我的帐户具有完全权限(通过组权限),这种情况也会发生在我身上。Finder 可能会对 root 拥有的文件设置额外的保护级别。chown
在脚本中使用应该可以为终端和 Finder 设置一切正常!