NFS文件共享服务器搭建-文件服务器

NFS文件共享服务器搭建

linux nfs

NFS --简单的文件共享(sun),解决类unix与unix文件互访

包括组件:

rpcbind(portmap [rhel5])--负责NFS的数据传输

nfs --控制共享哪些文件,权限管理

1.安装软件包

# rpm -qa |grep nfs

nfs4-acl-tools-0.3.3-5.el6.x86_64

nfs-utils-lib-1.1.5-1.el6.x86_64

nfs-utils-1.2.2-7.el6.x86_64

# rpm -q rpcbind

rpcbind-0.2.0-8.el6.x86_64

---------------------------

# rpm -q portmap

portmap-4.0-65.2.2.1 --rhel5

-------------------------------

# rpm -ql nfs-utils-1.2.2-7.el6.x86_64

/usr/sbin/exportfs --重新导出配置文件,可以减少重启服务

/etc/rc.d/init.d/nfs --启动脚本

/usr/sbin/showmount--查询服务器共享了哪些目录

/etc/exports --主配置文件,用以定义共享目录,以及目录的权限,访问控制

ex:

nfs_server<--->nfs_client

(192.168.0.7) (192.168.0.254)

操作之前的准备工作:

# setenforce 0 --关闭selinux

# iptables -F --清空防火墙规则

# service iptables save

NFS文件共享服务器搭建

linux

权限须考虑

nfs 本地(rwx) 配置文件共享(r) 文件本身(rx) --> 只读

配置NFS服务器

1.新建共享目录:

# mkdir -p /share/nfs1

2.权限(本地权限/共享权限),取共享权限和本地权限的交集

#chown nfsnobody /share/nfs1

# ll -d /share/nfs1/

drwxr-xr-x 2 nfsnobody root 4096 08-15 19:28 /share/nfs1/

3.把目录共享出去

# vim /etc/exports

/share/nfs1 *(ro)

/share/nfs1 192.168.0.10(rw,sync)

共享目录 客户机的ipro:只读 rw:读写 sync:同步 async:异步(默认是async)

[root@desktop6 ~]# service rpcbind restart

[root@desktop6 ~]# service nfs restart --重启nfs服务

[root@desktop6 ~]# chkconfig nfs on --设置开机自启动

[root@desktop6 ~]# chkconfig rpcbind on --设置开机自启动

# exportfs -rv --nfs服务已经启动了,可以用这种方法重新导出配置文件

4.客户端访问共享:

# showmount -e 192.168.0.15--发现共享

# mkdir /mount1

#mount -t nfs 192.168.0.15:/share/nfs1 /mount1

# df -hP|grep mount1 --验证是否已经挂载成功

192.168.0.15:/share/nfs1 7.8G 2.2G 5.3G 30mount1

# vim /etc/fstab--实现开机自动挂载

192.168.0.15:/share/nfs1 /mount1 nfs _netdev 0 0

# mount -a

通过autofs实现NFS自动挂载:

# vim /etc/auto.master --定义挂载根目录,挂载的配置文件

/nfs /etc/auto.nfs

# vim /etc/auto.nfs --定义挂载的配置文件

uplooking -rw,nfs 192.168.0.192:/nfs/share1

# service autofs restart

自动挂载家目录:

在服务器上的操作:

# mkdir -p /nfs/share1/{upl01,upl02,upl03}

# cp /etc/skel/.* /nfs/share1/upl01

# cp /etc/skel/.* /nfs/share1/upl02

# cp /etc/skel/.* /nfs/share1/upl03

#chown nfsnobody -R /nfs/share1

# chmod 777 -R /nfs/share1

# vim /etc/exports

/nfs/share1 *(rw,sync,no_root_squash)

# exportfs -rv

no_root_squash:登入 NFS 主机使用分享目录的使用者,如果是 root 的话,那么对于这个分享的目录来说,他就具有 root 的权限!这个项目『极不安全』,不建议使用!

root_squash:在登入 NFS 主机使用分享之目录的使用者如果是 root 时,那么这个使用者的权限将被压缩成为匿名使用者,通常他的 UID 与 GID 都会变成 nobody 那个系统账号的身份。

客户端的操作:

# useradd -d /nfs/upl01 -M upl01

# useradd -d /nfs/upl02 -M upl02

# useradd -d /nfs/upl03 -M upl03

在客户机自动挂载:

# vim /etc/auto.master

/nfs /etc/auto.home

#vim /etc/auto.home

* -rw,nfs 192.168.0.192:/nfs/share1/&

*--代表你要挂的目录

&--代表共享服务器对应目录

# service autofs restart

在客户机上测试:

# su - upl01 --可以看到upl01被挂载过来

# su - upl02 --同上

总结:

1、安装软件:nfs rpcbind

2、新建目录,并且设置合适的本权限

3、修改:/etc/exports

/sharedir host_ip(ro/rw/sync/no_root_squash)

4、nfs未启动的状态:service rpcbind start

service nfs start

nfs已经启动的状态:

service nfs restart--不建议

exportfs -rv

5、客户端挂载:

手工挂载:

mount -t nfs 192.168.0.15:/share/nfs1 /mnt--手工挂载

自动挂载:

1、使用fstab实现开机自动挂载

vim /etc/fstab

192.168.0.15:/share/nfs1/mntnfs defaults 0 0

2、使用autofs实现按需挂载:

upl-rw,nfs192.168.0.15:/share/nfs1

*-rw,nfs192.168.0.15:/share/nfs1/&

推荐阅读