NFS共享概述:
Network File System:网络文件系统
--用途:为客户机提供共享使用的文件夹
--协议:NFS(TCP/UDP 2049)、RPC(TCP/UDP 111)
所需软件包:nfs-utils
系统服务:nfs-server
配置NFS共享目录的记录格式:
文件夹绝对路径 客户机地址(ro或rw等控制参数)
普通NFS共享的实现:
要求:
在虚拟机server0上配置NFS服务,完成以下任务:
1,只读方式共享目录/public,只能被example.com域内系统访问
2,可读写共享目录/protected,能被 example.com 域中的系统访问
在虚拟机 desktop0 上访问NFS共享目录
1,将 server0 的 /public 挂到本地 /mnt/nfsmount
2,这些文件系统在系统启动时自动挂载
方案:
对于普通NFS共享来说:
服务端需要运行系统服务 nfs-server.service
客户端不需要运行特定的系统服务
步骤:
在server0上发布NFS共享目录
1,准备需要共享的文件夹
[root@server0 ~]# mkdir /public
[root@server0 ~]# mkdir /protected
2,建立NFS共享配置
[root@server0 ~]# vim /etc/exports
/public 172.25.0.0/24(ro)
/protected 172.25.0.0/24(rw)
3,启动系统服务nfs-server,并设置开机自启
[root@server0 ~]# systemctl restart nfs-server
[root@server0 ~]# systemctl enable nfs-server
在desktop0上挂载NFS共享目录/public
1,创建挂载点
[root@desktop0 ~]# mkdir /mnt/nfsmount
2,列出server0上提供的NFS共享资源
[root@desktop0 ~]# showmount -e server0.example.com
Export list for server0.example.com:
/protected 172.25.0.0/24
/public 172.25.0.0/24
3,配置开机挂载server0的NFS共享目录/public
[root@desktop0 ~]# vim /etc/fstab
server0.example.com:/public /mnt/nfsmount nfs _netdev 0 0
4,测试挂载配置
[root@desktop0 ~]# mount -a
[root@desktop0 ~]# df -hT /mnt/nfsmount/
Filesystem Type Size Used Avail Use% Mounted on
server0.example.com:/public nfs4 10G 3.2G 6.8G 32%
/mnt/nfsmount
安全NFS共享的实现
要求:
在虚拟机 server0 上配置安全NFS服务,完成以下任务:
1,访问 /protected 需 kerberos 加密,密钥地址:
http://classroom/pub/keytabs/server0.keytab
2,目录 /protected 下包含名为 project 的子目录
在虚拟机 desktop0 上访问NFS共享目录
1,挂载 /mnt/nfssecure 需 kerberos加密,密钥地址:
http://classroom/pub/keytabs/desktop0.keytab
2,用户 ldapuser0 能够在 /mnt/nfssecure/project
目录下创建文件,其密码为 kerberos
方案:
对于安全NFS共享来说:
1,服务端需要运行系统服务
nfs-server.service、nfs-secure-server.service
2,客户端需要运行系统服务 nfs-secure.service
知识点:
1,kerberos认证/加密:一次认证(获取通行证),多次免密码登录。
2,客户机密钥部署位置:/etc/krb5.keytab
3,参与kerberos认证/加密的客户机需要加入同一个kerberos领域,
在此我们通过执行lab nfskrb5 setup操作来实现
步骤:
将server0、desktop0加入kerberos认证领域
1,初始化server0
[root@server0 ~]# lab nfskrb5 setup
2,初始化desktop0
[root@desktop0 ~]# lab nfskrb5 setup
3,验证初始化结果
可以使用网络账号ldapuser0登入到server0或desktop0,其密码是kerberos
[root@server0 ~]# ssh ldapuser0@desktop0.example.com
[ldapuser0@desktop0 ~]$ //成功登入
[ldapuser0@desktop0 ~]$ exit //返回原环境
为server0、desktop0部署kerberos密钥
1,为server0下载及部署密钥
[root@server0 ~]# wget
http://classroom/pub/keytabs/server0.keytab -O /etc/krb5.keytab
[root@server0 ~]# file /etc/krb5.keytab //检查部署结果
2,为desktop0下载及部署密钥
[root@desktop0 ~]# wget
http://classroom/pub/keytabs/desktop0.keytab -O /etc/krb5.keytab
[root@desktop0 ~]# file /etc/krb5.keytab //检查部署结果
在server0上调整/protected共享配置
1,创建指定的子目录
[root@server0 ~]# mkdir /protected/project
[root@server0 ~]# chown ldapuser0 /protected/project //赋予可写权限
2,调整共享目录的安全控制类型
[root@server0 ~]# vim /etc/exports
/public 172.25.0.0/24(ro)
/protected 172.25.0.0/24(rw,sec=krb5p) //指定安全类型
3,重启系统服务nfs-server、nfs-secure-server,设置开机自启
[root@server0 ~]# systemctl restart nfs-server nfs-secure-server
[root@server0 ~]# systemctl enable nfs-server nfs-secure-server
在desktop0上挂载安全NFS共享/protected
1,创建挂载点
[root@desktop0 ~]# mkdir /mnt/nfssecure
2,启动系统服务nfs-secure,并配置开机自启
[root@desktop0 ~]# systemctl restart nfs-secure
[root@desktop0 ~]# systemctl enable nfs-secure
3,配置开机挂载安全NFS共享
[root@desktop0 ~]# vim /etc/fstab
server0.example.com:/public /mnt/nfsmount nfs _netdev 0 0
server0.example.com:/protected /mnt/nfssecure nfs sec=krb5p,_netdev 0 0
4,验证挂载配置
[root@desktop0 ~]# mount -a
5,测试对挂载点的写入权限
以用户ldapuser0通过SSH的方式登入desktop0,
验证密码(kerberos)以获取通行证:
[root@desktop0 ~]# ssh ldapuser0@desktop0.example.com
访问desktop0的挂载点/mnt/nfssecure/的子目录project,测试可写入
[ldapuser0@desktop0 ~]$ touch /mnt/nfssecure/project/a.txt
[ldapuser0@desktop0 ~]$ ls /mnt/nfssecure/project/
文件共享:NFS
原创
©著作权归作者所有:来自51CTO博客作者武朝阳的原创作品,请联系作者获取转载授权,否则将追究法律责任
上一篇:文件共享:Samba
下一篇:Squid代理服务器
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
nfs 网络文件共享
nfs 网络文件共享
网络 客户端 status localhost 服务端