我无法从已安装的分区运行脚本。我创建了一个基本的“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
我不知道该怎么办。
ETA:我可以使用“bash test.sh”来执行该文件,但不能使用./test.sh。我可以在主目录中执行 ./test.sh 。
文件系统使用 noexec 挂载,这会阻止执行文件。
如果挂载位置的文件不属于主目录下的同一个用户,那么也可以给出该文件无法执行的可能原因;
./
这是因为当你执行 ./ 时,这意味着你正在 pwd 中执行,但是当你传递解释器“bash”时,文件将在没有可执行权限的情况下执行,
所以非常是挂载位置的文件的所有者,如果它是 root 拥有的,那么你不能使用 ./ 来执行该文件,除非你更改用户