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 本地(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/&