【问题标题】:linux permission denied ./file.sh VS bash file.shlinux权限被拒绝./file.sh VS bash file.sh
【发布时间】:2021-12-31 22:00:44
【问题描述】:

我有以下文件xx.sh

#!/bin/bash
echo "hi"

权限定义如下:

-rwxr-xr-x  1 root   root     22 Nov 22 10:55 xx.sh*

但是当我运行文件 ./xx.sh 时,我得到:

**-bash: ./xx.sh: Permission denied**

使用覆盖运行时:bash xx.sh 运行正常。

这里的权限问题是什么?

【问题讨论】:

  • 父文件夹/的权限是什么?
  • 所有上层文件夹权限相同777
  • 您的用户是否有可能无法执行/bin/bash(shebang 行)?这是您描述的两种执行方式的唯一区别。
  • findmnt -l | grep noexec - 检查你的文件系统是否挂载了noexec

标签: bash sh permission-denied


【解决方案1】:

您的系统可能安装了noexec。验证人:

findmnt <folder>

如果您在 OPTIONS 中有noexec,则不允许您在已挂载的文件系统中执行可执行二进制文件。您可以使用mount 命令解决。

【讨论】:

  • 正确,谢谢
猜你喜欢
  • 2023-04-03
  • 2018-06-23
  • 2021-12-11
  • 2016-01-15
  • 2011-08-20
  • 2014-06-21
  • 1970-01-01
  • 1970-01-01
  • 2022-11-22
相关资源
最近更新 更多