我在 OS X 上遇到了文件锁定和自动安装的问题。
这是我的auto_master
文件:
#
# Automounter master map
#
+auto_master # Use directory service
/net -hosts -nobrowse,hidefromfinder,nosuid
/home auto_home -nobrowse,hidefromfinder
/Network/Servers -fstab
/- -static
/- /etc/auto_nfs
下面是auto_nfs
:
# Common Configuration
/Shared/Family -fstype=nfs,rw,nodev,nosuid,nfc,locallocks nfs://10.0.0.11/Volumes/PDISK3/VDISKS/General1/Groups/Family\ Shared
/Shared/Users/christopher -fstype=nfs,rw,nodev,nosuid,nfc,locallocks nfs://10.0.0.11/Volumes/PDISK3/VDISKS/General1/Users/christopher
/Shared/Scratch1 -fstype=nfs,rw,nodev,nosuid,nfc,locallocks nfs://10.0.0.11/Volumes/PDISK2/VDISKS/Scratch1
# END Common Configuration
似乎locallocks
被忽略了(该mount
命令不显示它并chflags
失败,并且 Finder 的信息窗口有一个灰色的锁定框)。我尝试了所有组合(例如nolocks
,nolocks,locallocks
等)但无济于事。
虽然我并不介意在 NFS 端不使用锁,但缺少锁甚至会导致 OS X疯狂的如果我尝试在 NFS 挂载上拥有主目录。
那么:如何让锁(甚至是锁的外观)在 NFS 共享上发挥作用?
其他详细信息:
该服务器是 Linux Mint 上的 NFS4 服务器,其导出如下:
/Volumes/PDISK2 10.0.0.2(rw,async,no_subtree_check,insecure,no_root_squash) 10.0.0.3(rw,async,no_subtree_check,insecure,no_root_squash) 10.0.0.0/16(rw,async,no_subtree_check,insecure)
/Volumes/PDISK3 10.0.0.2(rw,async,no_subtree_check,insecure,no_root_squash) 10.0.0.3(rw,async,no_subtree_check,insecure,no_root_squash) 10.0.0.0/16(rw,async,no_subtree_check,insecure)
/Volumes/PDISK4 10.0.0.2(rw,async,no_subtree_check,insecure,no_root_squash) 10.0.0.3(rw,async,no_subtree_check,insecure,no_root_squash) 10.0.0.0/16(rw,async,no_subtree_check,insecure)
(注意:这台计算机不是被授予根访问权限的计算机之一,并且将保持这种状态)。
如果我no_auth_rlm
在服务器上设置,Finder 中的“已锁定”复选框将不再变灰,但它不会让我选中它(它会自行取消选中)。如果我这样做:touch a ; chflags uchg a
在其中一个安装座上,我得到:
chflags: a: Operation not supported
有趣的是,chflags nouchg a
虽然可以,但之后仍然不允许chflags uchg a
。请注意,在具有 root 访问权限的计算机中,它也无法以 root 身份运行。
这些帐户均来自 OS X El Capitan Open Directory 服务器。是的,它设置正确(我完全可以访问/写入/编辑/等等所有内容,但 OS X 显然存在一个错误,即从 Finder 中删除目录)。
之所以交叉发布此文,是因为有两个主要群体可能遇到过此问题:将 OS X 集成到目录组的系统管理员(因此出现 ServerFault)和亲自或为小型企业尝试做同样的事情并遇到问题的 OS-X 爱好者(因此出现 Think Different)。
更多信息,由“Heinrich”提供:
这实际上不是一个自动挂载问题。似乎 mount(8) 或 mount_nfs(8) 程序只是忽略了大多数选项:
> mount_nfs -o lock,rsize=65535 newserver:/Volumes/Newdata/kits /mnt
> mount|grep /mnt
newserver:/Volumes/Newdata/kits on /mnt (nfs)
> umount /mnt
> mount_nfs -o lock,nodev newserver:/Volumes/Newdata/kits /mnt
> mount|grep /mnt
newserver:/Volumes/Newdata/kits on /mnt (nfs, nodev)
“nodev” 受到尊重,但其他一切似乎都被忽略了。
答案1
似乎挂载选项实际上并没有被忽略,只是没有mount
显示它们。nfsstat -m
显示给定的 NFS 参数和每个挂载当前使用的实际挂载选项。
locallocks
尤其做有影响:在我的设置中(macOS Sierra,从 Linux 服务器安装 NFS),照片应用最初无法使用 NFS 安装上的图库(它在启动时就挂起了)。只有设置后,locallocks
照片应用才可以使用。
答案2
根据我的经验,locallocks 在 OSX 的 NFSv4 上会被忽略(或至少不能正常工作)。用作nfsvers=3
挂载选项。