ubuntu开启nfs服务
1.安装nfs服务器:
apt-get install nfs-kernel-server
2.开启nfs服务之前,必须先关闭防火墙,使用命令ufw disable,或者可以直接卸载防火墙apt-get remove iptables
新建一个要挂载的目录,mkdir /nfs 改变其权限,chmod 777 /nfs
编辑/etc/exports文件,按照其中的例子:
# Example for NFSv2 and NFSv3: # /srv/homes hostname1(rw,sync,no_subtree_check) hostname2(ro,sync,no_subtree_check)添加如下的语句:
/nfs [你允许的网段]*(rw,sync,no_subtree_check)保存退出,然后再一次执行,exportfs -a使改动生效
然后在终端键入下面的命令:/etc/init.d/nfs-kernel-server restart 就可以启动nfs服务。
3.使用nfs挂载文件夹
mount -t nfs -o nolock,tcp 目标IP地址:目标目录 /mnt
Centos下开启nfs服务
先测试一下nfs服务有没有安装,终端键入下面的命令:rpm -qa | grep nfs-utils portmap (Centos 5*) rpm -qa | grep nfs-utils rpcbind(Centos 6*)
如果没有安装终端键入下面命令进行安装:yum install nfs-utils portmap(Centos 5*) yum install nfs-utils rpcbind(Centos 6*)
安转完成后,在开启nfs服务之前,需要先关闭防火墙:
service iptables stop
Centos 5开启nfs服务,终端逐步键入如下命令:
service portmap start
service nfs start
Centos 6开启nfs服务,终端键入如下命令:
service rpcbind start
service nfs start
挂载某个目录时,采用和ubutun一样的命令。
权限说明:
rw:read-write,可读写;
ro:read-only,只读;
sync:文件同时写入硬盘和内存;
async:文件暂存于内存,而不是直接写入内存;
no_root_squash:NFS客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,也拥有root权限。显然开启这项是不安全的。
root_squash:NFS客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,拥有匿名用户权限,通常他将使用nobody或nfsnobody身份;
all_squash:不论NFS客户端连接服务端时使用什么用户,对服务端分享的目录来说都是拥有匿名用户权限;
anonuid:匿名用户的UID值,通常是nobody或nfsnobody,可以在此处自行设定;
anongid:匿名用户的GID值。