通过bash启动python脚本时权限被拒绝

Posted

技术标签:

【中文标题】通过bash启动python脚本时权限被拒绝【英文标题】:Permission denied when launch python script via bash 【发布时间】:2011-08-14 00:58:09 【问题描述】:
# ./scripts/replace-md5sums.py
bash: ./scripts/replace-md5sums.py: Permission denied

replace-md5sums.py 有 chmod 600

# ls -l ./scripts/replace-md5sums.py
-rw------- 1 ubuntu ubuntu 661 2011-04-27 16:30 ./scripts/replace-md5sums.py

【问题讨论】:

显示此程序的ls -l 的输出。 脚本目录对您的用户有 x 权限吗? (在ls -ldrwx r-x r-x的输出中是这样的) # ls -l ../ total 4 drwx------ 1 ubuntu ubuntu 4096 2011-04-27 16:42 元医生 做一个chmod +x scripts "replace-md5sums.py 有 chmod 777" 为假。请从问题中删除它。 【参考方案1】:

您应该能够运行脚本键入:

$ chmod 755 ./scripts/replace-md5sums.py
$ ./scripts/replace-md5sums.py

有时您当前登录的用户没有更改文件模式位的权限。在这种情况下,如果您有 root 密码,您可以通过以下方式更改文件权限:

$ sudo chmod 755 ./scripts/replace-md5sums.py

【讨论】:

如果你不喜欢给x标志你可以使用744。在这里运行脚本你必须明确输入python ./scripts/replace-md5sums.py【参考方案2】:

chmod +x script

现在尝试执行。

【讨论】:

【参考方案3】:

使用“exec”选项挂载您的 Windows 分区 - 在某些发行版上,它默认为“noexec”。

【讨论】:

我的 XFS 分区也有同样的问题。【参考方案4】:

我解决了我的问题。它只是解释器从第一行读取的 python 版本。删除到版本号为我做了,即

#!/usr/bin/python2.7 --> #!/usr/bin/python

【讨论】:

【参考方案5】:

试试这个

python ./scripts/replace-md5sums.py

【讨论】:

【参考方案6】:

我是 Ubuntu 用户,我遇到了同样的问题,当我试图通过 bash 脚本运行 python 脚本,而文件位于 NTFS 分区中时(即使 su 没有工作)然后我把它搬回家(ext4)然后它工作了。

【讨论】:

【参考方案7】:

好的,首先检查您是否在您的 python 脚本所在的正确目录中。 在网上,他们说运行命令:

python3 your_file_name.py

但它不起作用。 然而,对我有用的是:

python -u my_file_name.py

【讨论】:

【参考方案8】:
#strace ./scripts/replace-md5sums.py

【讨论】:

【参考方案9】:

检查身份证。它可能具有 root 权限。

所以输入su,然后以./scripts/replace-md5sums.py 执行脚本。

有效。

【讨论】:

以上是关于通过bash启动python脚本时权限被拒绝的主要内容,如果未能解决你的问题,请参考以下文章

用ugo + rw打开Python文件和“权限被拒绝”?

'PermissionError:[Errno 13]权限被拒绝',使用批处理文件运行python脚本后

错误:启动 Dataproc 集群时资源项目的权限被拒绝

-bash:./manage.py:权限被拒绝

Windows 上的 Gcloud 命令(使用 git bash)正在记录错误:WindowsApps/python3:权限被拒绝

Bash / Linux权限被拒绝为SUDO [重复]