当权限为“x”时无法执行脚本

当权限为“x”时无法执行脚本

但是,当前目录中有一个脚本:

  1. 许可是-rwxr-xr-x
  2. 脚本#!/bin/bash在文件顶部有一个 shebang
  3. 我的壳是/bin/bash
  4. 我可以使用来执行它bash script.sh

我无法使用 执行它./script.sh。它给我:

bash:./script.sh:权限被拒绝

为什么会发生这种情况?解决方案是什么?

答案1

  • 不允许执行,因为该文件位于使用“noexec”选项挂载的文件系统上。使用findmnt -u -T .来确定是否是这种情况。如果您有 root 权限,mount -o remount,exec <dir>则应删除此选项。

  • 不允许执行苹果策略(SELinux、SMACK,可能还有 AppArmor)。检查系统日志,以journalctl -n 100和开头dmesg。绕过此操作(如果您是管理员)取决于实际正在使用的 MAC 系统。

答案2

好吧,我找到了:它是“log2ram”

正如我所说,我在 Raspberry 4 上使用 Raspbian,为了延长 SD 的使用寿命,我将日志放在了 RAM 上,就这样。

===
pi@R4:~/logs $ cat /etc/log2ram.conf
[...]
PATH_DISK="/var/log;/home/pi/logs"
===

相关内容