Below you will find pages that utilize the taxonomy term “NFS”
FreeBSD 9 架设 NFS Server
好久没碰FreeBSD了……
今天需要在我的FreeBSD 9虚拟机和实体机(Win8)之间共享点文件。考虑到Win 8/2012已经支持NFS Client了,所以也没必要在FreeBSD上安装什么samba。在配置FreeBSD的NFS Server过程中,发现它和Linux的区别还真不小……
首先, NFS 是属于 base system 的,不需要安装,直接在 /etc/rc.conf 里写入 nfs_server_enable=”YES” 即可启用。同时,其 /etc/exports 文件默认不存在,需要自己建立。
另外, FreeBSD 的 exports 文件的配置语法与 Linux 完全不同。
在 Linux 下,我们可以这样写:
/home *(rw,no_root_squash)
FreeBSD 下会直接报语法错误。
正确的写法是:
/home -rw -alldirs -mapall=1001 -network=192.168.1 -mask 255.255.255.0
第一段指定了需要 export 的目录。这个目录可以有多个。 -rw 表示读写, -alldirs 表示任意一个子目录均可以被 mount ,这在 Linux 下是默认行为。 -mapall=UID 表示 mount 这个目录的所有操作都视为 UID 这个用户进行的。 -network 和 -mask 表示允许 mount 的计算机。注意, -network 不是 192.168.1.0 。
但这样写是没办法 mount 成功的, FreeBSD 日志里会写 Mount request Denied 。这是因为 FreeBSD 的 NFS 默认不允许 symbolic link 到非 export 目录,而 /home 其实是 symbolic link 到 /usr/home 的。所以只需要把 export 路径改为 /usr/home 即可。