NFS是一个类似于windows共享实现的解决方案,由于安全性问题,NFS仅仅适用于内网共享;由于依据的是UID访问,因此安全性非常差,闲话少说,如下操作。
Debian6 下,一定要先检查是否安装有一下服务:portmap,nfs-common,nfs-kernel-server(aptitudesearch portmap nfs-common nfs-kernel-server);
1、服务端安装的有:portmap,nfs-common,nfs-kernel-server (aptitude install portmap nfs-common nfs-kernel-server)
2、客户端有:portmap,nfs-common (aptitude install portmap nfs-common )
3、安装完成后先手动启动服务,之后做自启动:(chkconfig[portmap/nfs-common/nfs-kernel-server] on)
4、服务端添加共享路径:(nano /etc/export(此文件为server端自带文件客户端没有) ) ,添加方法如下:
/tmp 10.10.0.0/24(insecure{ 允许从这个网段过来的非授权访问},ro{ 只读},no_root_squash{ 客户机用root访问该共享文件夹时,不映射root用户},no_all_squash{ 保留共享文件的UID和GID(默认)},no_subtree_check{ 如果共享/usr/bin之类的子目录,不检查父目录权限},sync{ 所有数据在请求时写入共享})
括号内常用命令如下:
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_squash root用户具有根目录的完全管理访问权限 anonuid=xxx 指定NFS服务器/etc/passwd文件中匿名用户的UID anongid=xxx 指定NFS服务器/etc/passwd文件中匿名用户的GID
5、依次启动服务:/etc/init.d/portmap restart(可能已启动);/etc/init.d/nfs-commonstart ;/etc/init.d/nfs-kernel-server start
6、检查共享情况:showmount –e 127.1 正常显示目录即为本地正常。
7、客户端:服务安装后添加自启动后,依次启动服务(/etc/init.d/portmaprestart;nfs-common 安装即可,不知道为啥不启动也是可以做映射的)
8、添加共享目录:(mount -o nolock -tnfs ServerIP:/tmp /tmp &),第一次启动一定要加上前面的-o nolock
9、做开机映射:【ServerIP:/tmp /tmp nfs ro,tcp,intr 0 0】,其中第四项可以添更多命令,如下:nfsvers=3,wsize=32768,rsize=32768,rw,bg,intr,hard,tcp
参数 | 意义 |
nfsvers=3 | NFSv3,默认是 NFSv2,而 NFSv4 比较复杂,不是所有内核都支持。 |
Wsize=32768 | 设置32K 的写缓存,对于 UDP 方式来说,8K 是推荐值。 |
Rsize=32768 | 设置32K 的读缓存,对于 TCP 方式来说,32K 是推荐值。 |
rw | 读写方式,根据权限需要有时也设置为ro(read only)。 |
bg | 如果安装失败(服务器没有响应), 在后台一直尝试,继续发其他的安装请求。 |
hard | 如果服务器当机,让试图访问它的操作被阻塞,直到服务器恢复为止。 |
intr | 允许用户中断被阻塞的操作(并且让它们返回一条错误消息)。 |
tcp | 选择通过TCP 来传输,默认的 UDP 不好。 |
10、完成。
For Swimming
Address:Office
Date:2015/06/22 21:05