即使使用sudo,带有+x权限的脚本文件仍无法执行

20

我无法从挂载的分区运行脚本。我创建了一个基本的“Hello World”脚本,在我的主目录中可以正常执行,但是当我将它移动到挂载的分区时,我无法执行该文件。

$ ls -l
-rwxr-xr-x  1 user user    31 Mar  4 21:33 test.sh
$ ./test.sh
-bash: ./test.sh: Permission denied
$ sudo ./test.sh
[sudo] password for user:
sudo: unable to execute ./test.sh: Permission denied
$ cd ..
$ ls -l
drwxrwxrwx  6 user root  4096 Mar  4 21:34 sda5

我不知道该怎么做。

预计时间:我可以使用“bash test.sh”来执行文件,但无法使用“./test.sh”。我可以在主目录中使用“./test.sh”。


1
挂载的分区使用了哪个文件系统? - John Colanduoni
HevyLight:文件系统是ext4。 - user1539179
4
请在终端中输入“mount”。搜索输出结果以查找test.sh所在的分区。 挂载标志位于括号()中的行末。你看到“noexec”了吗?(可能会看到) - hek2mgl
1
/dev/sda5 在 /media/sda5 上,类型为 ext4 (rw,noexec,nosuid,nodev)。 - user1539179
你有问题的原因在这里 :) 如何让分区挂载?是在启动时自动挂载(fstab),还是手动挂载分区? - hek2mgl
显示剩余3条评论
1个回答

29
文件系统被挂载为noexec,这阻止了执行文件。

3
我正在Ubuntu上使用“磁盘”工具(通过GUI),并成功添加了exec选项。这似乎已经防止了使用“用户”选项时自动添加的“noexec”。现在,我可以如愿地运行文件了。 - James

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接