这个问题专注于没有Kerberos等的NFS4.
1.出口
导出联机帮助页中有关/ etc / exports结构的信息不明确.
引用出口(5):
Also,each line may have one or more specifications for default options after the path name,in the form of a dash (“-“) followed by an option list.
The option list is used for all subsequent exports on that line only.
“仅在该线上的后续出口”是什么意思?
1.2 fsid = 0不再需要了吗?
当我发现comment on the linux-nfs list声明不再需要fsid = 0时,我正在搜索fsid.现在我只是困惑,我是否需要使用nfs4?
2.非导出目录仍可安装
说我有以下树:
/exp /exp/users /exp/distr /exp/distr/archlinux /exp/distr/debian
我在这个fstab条目中有以下条目:
/dev/disk/by-label/users /mnt/users ext4 defaults 0 0 /dev/disk/by-label/distr /mnt/distr ext4 defaults 0 0 /mnt/users /exp/users none bind 0 0 /mnt/distr /exp/distr none bind 0 0
我的出口正是这样的:
/exp 192.168.1.0/24(fsid=0,rw,async,no_subtree_check,no_root_squash) /exp/distr 192.168.1.0/24(rw,no_root_squash)
而exportfs -arv显示:
exporting 192.168.1.0/24:/exp/distr exporting 192.168.1.0/24:/exp
那为什么我能够做到这一点并在客户端上没有错误:
mount -t nfs4 server:/exp/users /tmp/test
即使/ exp / users未导出?我没有导出这个目录,虽然我没有看到/ dev / disk / by-label / users的内容,除非我指定了crossmnt,我仍然可以写入该目录.我写的所有内容都转到/ exp / users的底层目录,这可以在我卸载/ exp / users时看到; ls / exp / users ..
3. showmount -d服务器的奇怪情况
如rpc.mountd(8)所述,此命令应显示当前由客户端装入的目录,或者显示在/ var / lib / nfs / rmtab中的陈旧条目,如下所示:
The rpc.mountd daemon registers every successful MNT request by adding an entry to the /var/lib/nfs/rmtab file. When receivng a UMNT request from an NFS client,rpc.mountd simply removes the matching entry from /var/lib/nfs/rmtab,as long as the access control list for that export allows that sender to access the export.
(…)
Note,however,that there is little to guarantee that the contents of /var/lib/nfs/rmtab are accurate. A client may continue accessing an export even after invoking UMNT. If the client reboots without sending a UMNT request,stale entries remain for that client in /var/lib/nfs/rmtab.
读完之后我肯定会怀疑:
>仅暴露此类客户信息是不是非常不安全;
>不是不知道服务器管理员必须拥有一个包含大量陈旧客户端的rmtab;
>这是因为使用mount -v挂载nfs4目录的客户端可以看到输出,例如“没有挂载”,即使安装了某些东西吗?
我有很多关于nfs4的其他问题,但我会暂时保留它… 原文链接:/linux/402886.html