Ubuntu 18.04-从here安装了Zsh和Oh-My-Zsh。
给出以下内容
echo '#!/bin/bash\n\nls ~;' >> myscript.sh
chmod 755 ./myscript.sh
./myscript.sh
在我的主文件夹中执行,一切按预期进行,并且列出了我的主文件夹中的文件
为简洁起见,省略了输出-它可以按预期工作并列出文件
在辅助驱动器中执行后,我得到下面列出的输出(我的fstab配置在此问题中列在下面)。
╭─user@host /media/user/raw/scripts
╰─$ echo '#!/bin/bash\n\nls ~;' >> myscript.sh
╭─user@host /media/user/raw/scripts
╰─$ chmod 755 ./myscript.sh
╭─user@host /media/user/raw/scripts
╰─$ ./myscript.sh
zsh: permission denied: ./myscript.sh
我的/ etc / fstab
╭─user@host /media/user/raw/scripts
╰─$ cat /etc/fstab 130 ↵
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
# / was on /dev/sdb2 during installation
UUID=<<some_uuid>> / ext4 errors=remount-ro 0 1
# /boot/efi was on /dev/sdb1 during installation
UUID=<<some_uuid>> /boot/efi vfat umask=0077 0 1
/swapfile none swap sw 0 0
/dev/disk/by-uuid/<<some_uuid>> /media/user/raw auto user,rw,nofail,x-gvfs-show 0 0
由于这在我的主文件夹中执行得很好,而不是在此安装的驱动器上,所以我认为问题出在fstab配置中。有什么想法吗?
答案 0 :(得分:4)
您隐式指定了noexec
,这意味着设备上的任何文件都无法执行。
这里是man mount
:
用户
允许普通用户挂载文件系统。挂载用户的名称将写入mtab文件(或在没有常规mtab的系统上的/ run / mount中写入私有libmount文件),以便该同一用户可以再次卸载文件系统。 此选项暗含选项noexec ,nosuid和nodev(除非被后续选项覆盖,如选项行user,exec,dev,suid中一样)。
同一段还提出了解决方案:使用user,exec
重新启用用户可挂载的fs中的执行。