我有服务器(debian 6)机(例如,ip = 10.13.13.100)与nfs出口
/ etc / exports中
/ path / to / my / shared / folder 10.13.13.0/24(rw,async,no_sub_tree_check,no_root_squash)
此机器上有两个用户admin (uid = 1000)和user (uid = 1001)
在客户端机器(也是debian 6)(比如说ip = 10.13.13.111)我有/ etc / fstab
10.13.13.100:/path/to/my/shared/folder/my/mount/point nfs rw,exec,user,owner 0 0
只有一个user (uid = 1000)
在reboot或mount -a ,共享文件夹已成功挂载,但是我无法执行任何文件(即使文件具有exec权限)。 但是,读取和写入文件系统上的文件工作正常。
可能是设置了noexec标志。
罪魁祸首是您在/etc/fstab使用的user选项,特别是您已将exec选项放在user选项之前 。
从man mount :
用户 :允许普通用户安装文件系统。 …此选项意味着选项noexec , nosuid和nodev (除非被后续选项覆盖,如选项行user,exec,dev,suid )。
我想这个行为是出于安全原因。 无论如何,只要你使用user ,你应该专门添加一个exec选项,如果这是你想要的,它应该在 user选项之后覆盖noexec隐含的noexec 。
我已经通过将客户端:/ etc / fstab的内容更改为以下来解决了这个问题:
10.13.13.100:/path/to/my/shared/folder/my/mount/point nfs rw,exec 0 0