创建文件夹权限被拒绝。

8

我正在尝试通过在Python中运行以下代码来创建此目录:/var/machine/hi'

os.mkdir("/var/machine/hi")

然而,我遇到了一个问题。
OSError: [Errno 13] Permission denied: '/var/machine/hi'

我尝试了以下操作: chmod 777 /var/machinechmod 777 /var /var 的所有者是 rootwheel /var/machine 的所有者是 rootwheel 如何解决/调试此问题?

你可以提供更多信息吗?ls -l /var/machine 的输出是什么?启动脚本的用户是谁? - tbraun89
你尝试以“sudo”身份运行你的脚本了吗? - Anshul Goyal
1
不,你试图创建目录的目录所有者是“root”,因此你必须以“root”身份运行或使用“sudo”。 - Anshul Goyal
2
如果 /var/machine 具有 775 权限,并且组为 wheel,则他可以使用任何具有 wheel 组的用户运行脚本,而且应该能够正常工作。 - tbraun89
如果这是Ubuntu...请关注App Armor。但一定要从bash获取用户尝试进行mkdir的strace。例如:strace -o mkdir.log mkdir -p /var/machine/hi - Matt Joyce
显示剩余4条评论
2个回答

9
您尝试过仅对操作使用sudo命令来使用os.system吗?
os.system("sudo mkdir /var/machine/hi")

似乎如果我在Python控制台下运行此程序,在输入密码后,程序无法终止并且会冻结。密码是正确的。 - kakyo

0
/var的所有者是root wheel。 /var/machine的所有者是root wheel。
您正在尝试创建目录的目录所有者是root,因此您必须以rootsudo身份运行。
或者,您可以使用以下命令更改目录用户所有权:
sudo chown popcorn:wheel /var/machine

但这假设用户popcorn已经添加到wheel


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接