Ubuntu

sshfs 的 fstab 中忽略了“exec”選項,需要在命令行上指定“mount”嗎?

  • June 4, 2020

我在我的 fstab 中使用 sshfs 在 Ubuntu 18.04.04 LTS 中掛載文件系統:

sshfs#dave@myservergoeshere.com:/remote-dir /mnt/local-mnt  fuse    rw,exec,user,allow_other,noauto,reconnect,ServerAliveInterval=15,ServerAliveCountMax=3  0 0

它安裝得很好,但是如果我嘗試在路徑中執行任何東西,我會得到:

./some-executable: Permission denied.

該文件具有執行權限(如果我實際上是 ssh 進入系統,則工作正常)。

如果我使用 fstab 但再次包含 -oexec 選項:

mount /mnt/local-mnt -oexec

然後它工作。為什麼 fstab ’exec’ 被忽略?

exec選項不會被忽略 - 它被與後續選項noexec關聯的隱式覆蓋。user這種行為在man mount:

   user   Allow an ordinary user to mount the filesystem.  The name of the
          mounting user is written to the mtab file  (or  to  the  private
          libmount  file  in /run/mount on systems without a regular mtab)
          so that this same user can unmount the filesystem  again.   This
          option  implies  the  options  noexec, nosuid, and nodev (unless
          overridden  by  subsequent  options,  as  in  the  option   line
          user,exec,dev,suid).

exec您可以通過在選項之後指定選項來獲得所需的行為user

也可以看看

引用自:https://unix.stackexchange.com/questions/590543