使用Bash的Python脚本是否拒绝权限?

问题描述 投票:6回答:3

我是Ubuntu的新手。我试图运行第一个简单的python程序“ Hello World” ...在终端中运行以下命令后

1. chmod +x filename.py 
2. ./filename.py

终端显示以下错误“ bash: ./filename.py: Permission denied”我该如何解决问题?

python permissions denied
3个回答
7
投票

您在python文件的顶部是否有适当的咒语?例如,

[#!/usr/bin/python(或#!/usr/bin/env python)]

仅作说明,chmod +x仅使文件可执行,它不运行。

而且我假设您的脚本看起来没有比这更复杂的了:

#!/usr/bin/env python
print 'hello world'

5
投票

某些可能性:

  1. 如果输入umask,它会说什么? chmod +x仅在您的umask不会阻止用户可执行文件位的情况下,才使文件成为可执行文件。典型的umask(例如0022)不会阻止用户执行位,但是umask(例如0122)可以。 (有关更多信息,请参见chmod(1)的“描述”部分。)

  2. 要执行Python脚本之类的脚本,您还需要read权限。尝试chmod(1)并再次执行脚本。

  3. 还有可能远程执行的任何操作都是在文件开头(例如chmod u+rx filename.py)用“ hashbang”行指定的,但是根据我的经验会产生不同的错误消息。


4
投票

我在新系统上处理相同的问题。

这是我第三次尝试解决此问题,您的帖子是google结果中出现的第一篇。我的帖子比较晚,但是认为它可以帮助遇到相同问题的其他用户。

就我而言,这是关于分区表设置的。

检查您的/ etc / mtab文件中python脚本的存储方式。检查是否有子句:noexec

noexec是禁止在分区下执行的标志。默认情况下,它使用exec设置。但是,有时这种事情会发生。

现在,在这里工作正常。

© www.soinside.com 2019 - 2024. All rights reserved.