为什么文件夹下的可执行文件(模式 x 标记)无法运行?

为什么文件夹下的可执行文件(模式 x 标记)无法运行?

我以为我的 /data 文件夹下的脚本文件无法执行是因为它没有设置 'x' 权限,但是在 chmod +x 之后,它仍然无法运行,即使我把它放在 /data 文件夹下,我手工制作的简单测试脚本也无法运行。还要检查什么?抱怨权限被拒绝。

build$ lsattr /data
-------------e-- /data/plug
-------------e-- /data/lost+found
-------------e-- /data/qt-6.6.0-base

build$ lsattr -d /data
-------------e-- /data

build$ ls -ld /data
drwxr-xr-x 6 gw root 4096 Oct 30 14:14 /data

build$ ls -l /data/script
-rwxrwxr-x 1 gw gw 22 Oct 30 14:14 /data/script

$ sh /data/script
aaa
$ /data/script
bash: /data/script: Permission denied
$ cat /data/script
#!/bin/sh

echo 'aaa'
$ ls -l /bin/sh
lrwxrwxrwx 1 root root 4 Apr 19  2020 /bin/sh -> dash

该磁盘描述:ATA 磁盘、产品:ST1000DM010-2EP1、供应商:Seagate、物理 ID:0.0.0、总线信息:scsi@3:0.0.0

答案1

引自man mount

用户

允许普通用户挂载文件系统。挂载用户的名称将写入 mtab,以便他可以再次卸载文件系统。此选项暗示选项禁止执行诺苏伊德, 和节点(除非被后续选项覆盖,如选项行 user,exec,dev,suid)。

我重点强调。

相关内容