Henry Asked: 2019-06-25 13:01:20 +0800 CST2019-06-25 13:01:20 +0800 CST 2019-06-25 13:01:20 +0800 CST 权限为“x”时无法执行脚本 772 但是,鉴于以下情况,我在当前目录中有一个脚本: 许可是-rwxr-xr-x #!/bin/bash该脚本在文件顶部有一个 shebang 我的外壳是/bin/bash 我可以使用它来执行它bash script.sh 我无法使用./script.sh. 它给了我: bash: ./script.sh: 权限被拒绝 为什么会发生这种情况,解决方案是什么? linux bash 2 个回答 Voted Best Answer user1686 2019-06-25T13:11:13+08:002019-06-25T13:11:13+08:00 不允许执行,因为该文件位于使用“noexec”选项安装的文件系统上。使用findmnt -u -T .以确定是否是这种情况。如果你有root权限,mount -o remount,exec <dir>应该去掉这个选项。 MAC策略(SELinux、SMACK,可能是 AppArmor)不允许执行。检查系统日志,从journalctl -n 100和开始dmesg。绕过这个(如果你是管理员)取决于实际使用的 MAC 系统。 Mikel Vergy 2022-04-09T04:24:43+08:002022-04-09T04:24:43+08:00 好吧,我找到了:它是“log2ram” 正如我所说,我在 Raspberry 4 上使用 Raspbian,为了延长 SD 的使用寿命,我将日志放在 RAM 上,我们到了。 === pi@R4:~/logs $ cat /etc/log2ram.conf [...] PATH_DISK="/var/log;/home/pi/logs" ===
不允许执行,因为该文件位于使用“noexec”选项安装的文件系统上。使用
findmnt -u -T .
以确定是否是这种情况。如果你有root权限,mount -o remount,exec <dir>
应该去掉这个选项。MAC策略(SELinux、SMACK,可能是 AppArmor)不允许执行。检查系统日志,从
journalctl -n 100
和开始dmesg
。绕过这个(如果你是管理员)取决于实际使用的 MAC 系统。好吧,我找到了:它是“log2ram”
正如我所说,我在 Raspberry 4 上使用 Raspbian,为了延长 SD 的使用寿命,我将日志放在 RAM 上,我们到了。