Linux Can';t从挂载的磁盘执行.sh脚本(Ubuntu 18.04):zsh:权限被拒绝

Linux Can';t从挂载的磁盘执行.sh脚本(Ubuntu 18.04):zsh:权限被拒绝,linux,bash,zsh,oh-my-zsh,fstab,Linux,Bash,Zsh,Oh My Zsh,Fstab,Ubuntu18.04-从安装了Zsh和Oh My Zsh 鉴于以下情况 echo '#!/bin/bash\n\nls ~;' >> myscript.sh chmod 755 ./myscript.sh ./myscript.sh 在我的主文件夹中执行,一切按预期进行,它列出了我主文件夹中的文件 为简洁起见,省略了输出——它按照脚本的意图工作并列出了文件 在辅助驱动器中执行时,我得到下面列出的输出(我的fstab配置在这个问题的下方列出) 我的/etc/fstab ╭─user

Ubuntu18.04-从安装了Zsh和Oh My Zsh

鉴于以下情况

echo '#!/bin/bash\n\nls ~;' >> myscript.sh
chmod 755 ./myscript.sh
./myscript.sh
在我的主文件夹中执行,一切按预期进行,它列出了我主文件夹中的文件

为简洁起见,省略了输出——它按照脚本的意图工作并列出了文件

在辅助驱动器中执行时,我得到下面列出的输出(我的fstab配置在这个问题的下方列出)

我的/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
╭─user@host/media/user/raw/scripts
╰─$ cat/etc/fstab 130↵
#/etc/fstab:静态文件系统信息。
#
#使用“blkid”打印一个文件的通用唯一标识符
#装置;这可以与UUID=一起使用,作为命名设备的更可靠的方法
#即使添加和删除了磁盘,该功能也能正常工作。见fstab(5)。
#
#                
#/was在安装过程中位于/dev/sdb2上
UUID=/ext4 errors=重新安装ro 0 1
#/boot/efi在安装期间在/dev/sdb1上
UUID=/boot/efi vfat umask=0077 0 1
/交换文件无交换软件0 0
/dev/disk/by uuid//media/user/raw auto user,rw,nofail,x-gvfs-show 0

由于这在我的主文件夹中执行得很好,而不是在这个挂载的驱动器上,所以我认为问题出在fstab配置的某个地方。有什么想法吗?

您隐式指定了
noexec
,这意味着设备上没有可执行的文件

这是
载人坐骑

用户

允许普通用户装载文件系统。装载用户的名称将写入mtab文件(或在没有常规mtab的系统上写入/run/mount中的私有libmount文件),以便该用户可以再次卸载文件系统此选项表示noexec、nosuid和nodev选项(除非被后续选项覆盖,如选项行user、exec、dev、suid)


同一段还建议了修复方法:使用
user,exec
在用户可装载的fs中重新启用执行。

我在bash中尝试了相同的方法,结果是相同的(bash:./myscript.sh:权限被拒绝)。这似乎是一个问题,我如何安装特定的磁盘,而不是与解释器等。你是对的。这就是问题所在。我也读了手册页,但在“允许普通用户挂载文件系统”时停了下来,没有意识到用户是一个宏选项。谢谢你对另一个人的帮助!
╭─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