之前配置好的虚拟机系统被窝自己给搞崩溃了,里面配置的很多东西也随之而去,现在重新配置,刚刚完成nfs文件系统的配置,当初配置的时候没遇到那么多问题,不知道这次问题到处都是。虽然也是菜鸟一只,不过相信菜鸟的经历应该都差不多,所以现在把配置过程写下来,方便自己,也方便他人一下。
首先安装nfs服务器端和客户端
sudo apt-get install portmap nfs-common nfs-kernel-server
然后配置portmap
sudo vi /etc/default/portmap
去掉 -i 127.0.0.1前面的“#”号
然后执行 sudo dpkg-reconfigure portmap
运行后选择"否"
配置/etc/hosts.deny
禁止任何host(主机)能和你的NFS服务器进行NFS连接。在该文件中加入:
### NFS DAEMONS
portmap:ALL
lockd:ALL
mountd:ALL
rquotad:ALL
statd:ALL
配置/etc/hosts.allow
允许那些你想要的主机和你的NFS服务器建立连接。
下列步骤将允许任何IP地址以192.168.1开头的主机连接到NFS服务器上,具体要看你目标板的端口地址,也可以指定特定的IP地址。在该文件中加入:
### NFS DAEMONS
portmap: 192.168.1.
lockd: 192.168.1.
rquotad: 192.168.1.
mountd: 192.168.1.
statd: 192.168.1.
通过/etc/hosts.deny和/etc/hosts.allow设置对portmap的访问,采用这两个配置文件有点类似"mask"的意思。先在/etc/hosts.deny中禁止所有用户对portmap的访问,再在/etc/hosts.allow中允许某些用户对portmap的访问。
然后重启portmap daemon:
$ sudo /etc/init.d/portmap restart
配置挂载目录和权限
sudo vi /etc/export
然后在最下面添加一行(以我的配置为例)
/home/hero/arm/nfs_root 192.168.0.*(insecure,rw,async,no_root_squash)
红色部分是要挂载的文件夹的绝对路径
绿色部分是规定哪一网段的机器可以访问服务器端,也可以把192.168.0.*改成* 即任何ip的机器都可以访问
蓝色部分是一些约束条件说明如下
ro
只读访问
rw 读写访问sync 所有数据在请求时写入共享
async
nfs在写入数据前可以响应请求
secure
nfs通过1024以下的安全TCP/IP端口发送
insecure
nfs通过1024以上的端口发送
wdelay
如果多个用户要写入nfs目录,则归组写入(默认)
no_wdelay
如果多个用户要写入nfs目录,则立即写入,当使用async时,无需此设置。
hide 在nfs共享目录中不共享其子目录
no_hide
共享nfs目录的子目录
subtree_check
如果共享/usr/bin之类的子目录时,强制nfs检查父目录的权限(默认)
no_subtree_check
和上面相对,不检查父目录权限
all_squash
共享文件的UID和GID映射匿名用户anonymous,适合公用目录。
no_all_squash
保留共享文件的UID和GID(默认)
root_squash
root用户的所有请求映射成如anonymous用户一样的权限(默认)
no_root_squas
root用户具有根目录的完全管理访问权限
然后更新export
sudo exportfs -rv
重启nfs服务
sudo /etc/init.d/portmap start
sudo /etc/init.d/nfs-kernel-server start
测试结果
showmount -e
sudo mount -t nfs -o nolock 192.168.0.2:/home/hero/arm/nfs_root /mnt
sudo df查看结果
参考文章:
http://www.cnblogs.com/shenhaocn/archive/2011/03/13/1983042.html
阅读(552) | 评论(0) | 转发(0) |