Linux运维笔记-文档总结-NFS文件共享(网络文件系统)

  1. 云栖社区>
  2. 博客>
  3. 正文

Linux运维笔记-文档总结-NFS文件共享(网络文件系统)

科技探索者 2017-11-14 14:52:00 浏览573
展开阅读全文

转自:http://m.blog.csdn.net/blog/index?username=Ningdaxing1994

觉得这个写得不错哈哈~


以下所有操作都是在Red-hat 7.0上


1.NFS的介绍

NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。

以下是NFS最显而易见的好处:

1. 节省本地存储空间,将常用的数据存放在一台NFS服务器上且可以通过网络访问,那么本地终端将可以减少自身存储空间的使用。

2. 用户不需要在网络中的每个机器上都建有Home目录,Home目录可以放在NFS服务器上且可以在网络上被访问使用。

3. 一些存储设备如软驱、CDROM和Zip(一种高储存密度的磁盘驱动器与磁盘)等都可以在网络上被别的机器使用。这可以减少整个网络上可移动介质设备的数量。

这里写图片描述

这里写图片描述

2.nfs服务器配置

1.安装服务以及配置防火墙策略

在配置之前先安装nfs-utils

yum install nfs-utils -y

systemctl start nfs-server

systemctl enable nfs-server.service ##开启nfs服务

如果开启防火墙还要访问nfs,要添加以下的服务:

systemctl start firewalld

firewall-cmd –permanent –add-service=nfs

firewall-cmd –permanent –add-service=rpc-bind

firewall-cmd –permanent –add-service=mountd

firewall-cmd –reload ##刷新

这里写图片描述

2.建立一个共享目录并编写/etc/exports 对客户端访问进行设置

mkdir /public

chmod 777 /public/

touch /public/test{1..3}

vim /etc/exports

/public (sync) ##将/public共享给所有人并且数据同步 代表所有人,sync代表数据同步

exportfs -rv ##提示:对配置的文件进行刷新,一定不能重启nfs服务,那样会导致服务卡住,这是已知的bug

这里写图片描述

3.访问控制

vim /etc/exports

/public 172.25.0.0/24(sync) ##只允许172.25.0.0/24网段的ip访问

/public *.example.com(sync) ##只允许同一个域名的主机访问

/public 172.25.254.20(ro,sync) 172.25.254.21(rw,sync) ## 允许20主机只读访问 ,21主机读写访问

/public *(rw,sync,no_root_squash) ##获得root权限

这里写图片描述

访问控制 
这里写图片描述 
这里写图片描述 
这里写图片描述 
这里写图片描述 
这里写图片描述 
这里写图片描述 
这里写图片描述

4.永久挂载NFS文件系统:

vim /etc/fstab

172.25.254.110:/public /mnt nfs defaults 0 0

rw:挂载可读写的文件系统

ro:挂载只读文件系统

vers=4:尝试只使用指定的NFS版本进行挂载。如果服务器不支持该版本,则挂载请求失败

soft:如果NFS请求超时,三次尝试后返回错误。权衡数据完整性与提高客户端响应性。(默认行为hard,将无限期地重试)

5.保护NFS输出

两台主机都得更改主机名 一个server10 一个desktop10,这是因为,我们需要下载对应的keytab。

在两台主机,都加入kerberos认证域,使用ldap用户:

desktop和server都安装yum install authconfig-gtk.x86_64 sssd krb5-workstation.x86_64 ##sssd是控制用户人数,authconfig-gtk可视化配置ldap

在server上:

安装kerberos服务所需的keytab:
wget http://172.25.254.254/pub/keytabs/server20.keytab -O /etc/krb5.keytab 采用ktutil命令检测keytab
ktutilktutil:  rkt /etc/krb5.keytabktutil:  list

重启服务:
systemctl start nfs-secure-server ##server和desktop开启的服务不同systemctl enable nfs-secure-server.service 编写/etc/exports,让拥有证书的用户才可以访问
vim /etc/exports
/public         *(rw,sec=krb5p)  ##使用kerberos验证exportfs -rv1234567891011121314

在desktop上:

安装kerberos服务所需的keytab:
wget http://172.25.254.254/pub/keytabs/desktop20.keytab -O /etc/krb5.keytab 采用ktutil命令检测keytab
ktutilktutil:  rkt /etc/krb5.keytabktutil:  list
重启服务:(与server主机重启的服务不相同,少了个service)
systemctl start nfs-secure
systemctl enable nfs-secure
做本地解析
vim /etc/hosts172.25.254.210 server10.example.com123456789101112

这里写图片描述 
这里写图片描述 
这里写图片描述
这里写图片描述

测试:

[root@desktop10 ~]# su - studentLast login: Sat Jun  3 23:37:20 EDT 2017 on pts/1[student@desktop10 ~]$ cd /mnt
-bash: cd: /mnt: Permission denied ##student用户没有证书所以访问被拒[student@desktop10 ~]$ su - ldapuser1    ##必须从普通用户过去,获得密码权限。Password: Last login: Sat Jun  3 23:54:20 EDT 2017 on pts/0su: warning: cannot change directory to /home/guests/ldapuser1: No such file or directorymkdir: cannot create directory '/home/guests': Permission denied
-bash-4.2$ cd /mnt
-bash-4.2$ ls
file  file2  file3 123456789101112

这里写图片描述


本文转自AELY木博客51CTO博客,原文链接http://blog.51cto.com/12768057/1933966如需转载请自行联系原作者

AELY木

网友评论

登录后评论
0/500
评论
科技探索者
+ 关注