文件共享:NFS

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了文件共享:NFS相关的知识,希望对你有一定的参考价值。

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,准备需要共享的文件夹 [[email protected] ~]# mkdir /public [[email protected] ~]# mkdir /protected 2,建立NFS共享配置 [[email protected] ~]# vim /etc/exports /public 172.25.0.0/24(ro) /protected 172.25.0.0/24(rw) 3,启动系统服务nfs-server,并设置开机自启 [[email protected] ~]# systemctl restart nfs-server [[email protected] ~]# systemctl enable nfs-server 在desktop0上挂载NFS共享目录/public 1,创建挂载点 [[email protected] ~]# mkdir /mnt/nfsmount 2,列出server0上提供的NFS共享资源 [[email protected] ~]# 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 [[email protected] ~]# vim /etc/fstab server0.example.com:/public /mnt/nfsmount nfs _netdev 0 0 4,测试挂载配置 [[email protected] ~]# mount -a [[email protected] ~]# 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 [[email protected] ~]# lab nfskrb5 setup 2,初始化desktop0 [[email protected] ~]# lab nfskrb5 setup 3,验证初始化结果 可以使用网络账号ldapuser0登入到server0或desktop0,其密码是kerberos [[email protected] ~]# ssh [email protected] [[email protected] ~]$ //成功登入 [[email protected] ~]$ exit //返回原环境 为server0、desktop0部署kerberos密钥 1,为server0下载及部署密钥 [[email protected] ~]# wget http://classroom/pub/keytabs/server0.keytab -O /etc/krb5.keytab [[email protected] ~]# file /etc/krb5.keytab //检查部署结果 2,为desktop0下载及部署密钥 [[email protected] ~]# wget http://classroom/pub/keytabs/desktop0.keytab -O /etc/krb5.keytab [[email protected] ~]# file /etc/krb5.keytab //检查部署结果 在server0上调整/protected共享配置 1,创建指定的子目录 [[email protected] ~]# mkdir /protected/project [[email protected] ~]# chown ldapuser0 /protected/project //赋予可写权限 2,调整共享目录的安全控制类型 [[email protected] ~]# 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,设置开机自启 [[email protected] ~]# systemctl restart nfs-server nfs-secure-server [[email protected] ~]# systemctl enable nfs-server nfs-secure-server 在desktop0上挂载安全NFS共享/protected 1,创建挂载点 [[email protected] ~]# mkdir /mnt/nfssecure 2,启动系统服务nfs-secure,并配置开机自启 [[email protected] ~]# systemctl restart nfs-secure [[email protected] ~]# systemctl enable nfs-secure 3,配置开机挂载安全NFS共享 [[email protected] ~]# 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,验证挂载配置 [[email protected] ~]# mount -a 5,测试对挂载点的写入权限 以用户ldapuser0通过SSH的方式登入desktop0, 验证密码(kerberos)以获取通行证: [[email protected] ~]# ssh [email protected] 访问desktop0的挂载点/mnt/nfssecure/的子目录project,测试可写入 [[email protected] ~]$ touch /mnt/nfssecure/project/a.txt [[email protected] ~]$ ls /mnt/nfssecure/project/

以上是关于文件共享:NFS的主要内容,如果未能解决你的问题,请参考以下文章

如何使用NFS配置linux文件共享

文件共享:NFS

NFS共享服务

NFS文件共享服务

NFS企业级网络文件共享

NFS企业级网络文件共享