【问题标题】:Can't execute a .sh script from mounted disk (Ubuntu 18.04): zsh: permission denied无法从已安装的磁盘执行 .sh 脚本(Ubuntu 18.04):zsh:权限被拒绝
【发布时间】:2018-07-08 17:13:36
【问题描述】:

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 配置中的某个地方。有什么想法吗?

【问题讨论】:

标签: linux bash zsh oh-my-zsh fstab


【解决方案1】:

您隐式指定noexec,这意味着设备上的任何文件都不能执行。

这里是man mount

用户

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

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

【讨论】:

  • 你是对的。这就是问题所在。我也阅读了手册页,但停在“允许普通用户挂载文件系统”处,没有意识到用户是一个宏选项。感谢您的帮助@那个其他人!
猜你喜欢
  • 2019-11-22
  • 2016-11-18
  • 2018-03-25
  • 2019-11-16
  • 2016-05-22
  • 2019-10-18
  • 1970-01-01
  • 2014-04-28
  • 2019-08-25
相关资源
最近更新 更多