我有一台带有 nfs 导出功能的服务器(debian 6)机器(例如,ip = 10.13.13.100)
/etc/exports
/路径/到/我的/共享/文件夹 10.13.13.0/24(rw,异步,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:/路径/到/我的/共享/文件夹/我的/安装/点 nfs rw,exec,用户,所有者 0 0
只有一个user
(uid = 1000)
reboot
或之后mount -a
,共享文件夹挂载成功,但我无法执行其中的任何文件(即使文件具有执行权限)。但是,此文件系统上的文件读写正常。
答案1
可能设置了 noexec 标志。
答案2
罪魁祸首是user
你使用的选项/etc/fstab
,特别是你放置了exec
选项前选项user
。
从man mount
:
用户:允许普通用户挂载文件系统。...此选项暗示选项 禁止执行, 诺苏伊德, 和节点(除非被覆盖随后的选项,如选项行中用户、执行、设备、suid)。
我认为这种行为是出于安全原因。无论如何,无论何时使用,如果您需要,user
都应该专门添加一个选项exec
而且应该是后选项user
覆盖 的隐含noexec
含义user
。
答案3
我已通过将客户端:/etc/fstab 内容更改为以下内容来解决该问题:
10.13.13.100:/路径/到/我的/共享/文件夹/我的/安装/点 nfs rw,exec 0 0