我以为我的 /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)。
我重点强调。