通过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 -l
drwx 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脚本时权限被拒绝的主要内容,如果未能解决你的问题,请参考以下文章
'PermissionError:[Errno 13]权限被拒绝',使用批处理文件运行python脚本后
Windows 上的 Gcloud 命令(使用 git bash)正在记录错误:WindowsApps/python3:权限被拒绝