RHCE练习题 10-11. NFS服务 共享与挂载

题目 配置NFS服务 & 挂载一个NFS共享

配置NFS服务 在server0配置NFS服务,要求如下:
- 以只读的形式共享目录/public同时只能被example.com域中的系统访问。
- 以读写的形式共享目录/protected同时只能被example.com域中的系统访问。
- 访问/protected需要通过Kerberos安全加密,您可以使用下面提供的密钥:
- http://classroom.example.com/pub/keytabs/server0.keytab
- 目录/protected应该包含名为project拥有人为ldapuser0的子目录
- 用户ldapuser0能以读写形式访问/protected/project


挂载一个NFS共享 在desktop0上挂载一个来自server0上的NFS共享,并符合下列要求:
- /pulbic共享挂载到本地的/mnt/nfsmount。
- /protected挂载到本地的/mnt/nfssecure,并使用安全的方式,密钥下载地址:
- http://classroom.example.com/pub/keytabs/desktop0.keytab
- 用户ldapuser0能够在/mnt/nfssecure/project上创建文件。
- 这些文件系统在系统启动时自动挂载。

操作

环境已经配置好kerberos和ldap。如果没有自己下载 authconfig* sssd krb5-workstation*
进行配置。

在server0上配置NFS服务

  • 创建目录

    [root@server0 ~]# mkdir /public
    [root@server0 ~]# mkdir -p /protected/project
    
  • 修改目录权限,protected需要有读写权限,project需要修改拥有人身份

    [root@server0 ~]# chmod o+w /protected/ -R
    [root@server0 ~]# chown ldapuser0 /protected/project/
    
  • 下载kerberos证书到 /etc/krb5.keytab

    [root@server0 ~]# wget -O /etc/krb5.keytab http://classroom.example.com/pub/keytabs/server0.keytab
    
  • vim /etc/exports 修改文件,增加共享信息。

    /public 172.25.0.0/24(ro) #要共享的目录 允许访问的ip段 参数
    /protected 172.25.0.0/24(rw,sec=krb5p)
    

    常用的NFS共享参数

参数 描述
ro 只读
rw 可读写
root_squash root权限压缩成nobody
no_root_squash root权限不压缩 比较危险
all_squash 所有用户权限压缩成nobody
insecure 允许非授权访问
sync 同步写入硬盘

kerberos参数

参数 描述
krb5 使用kerberos认证
krb5i 使用kerberos认证,并校验数据完整性
krb5p 使用kerberos认证,并加密数据

- 启动NFS相关服务,并设置开机启动 nfs-servernfs-secure-server

“`
[root@server0 ~]# systemctl restart nfs-server nfs-secure-server
[root@server0 ~]# systemctl enable nfs-server nfs-secure-server

“`

如果没有下载kerberos证书,或者下载不正确,是不能正常启动nfs-secure-server

  • 配置防火墙 允许相关服务 nfsrpc-bindmountd
[root@server0 ~]# firewall-cmd --permanent --add-service=nfs
[root@server0 ~]# firewall-cmd --permanent --add-service=rpc-bind 
[root@server0 ~]# firewall-cmd --permanent --add-service=mountd 
[root@server0 ~]# firewall-cmd --reload

配置到这里就完成了。如果想要查看输出的共享信息,可以使用 exportfs -v查看

[root@server0 ~]# exportfs -v
/public         172.25.0.0/24(ro,wdelay,root_squash,no_subtree_check,sec=sys,ro,secure,root_squash,no_all_squash)
/protected      172.25.0.0/24(rw,wdelay,root_squash,no_subtree_check,sec=krb5p,rw,secure,root_squash,no_all_squash)

如果你修改了/etc/exports配置,不想重启服务又想立即生效,可以使用 exportfs -arv

exportfs参数

参数 描述
a 所有共享
u umount共享
r remount共享
v 输出信息

配置desktop0 挂载NFS共享

可以先 showmount 查看一下server0的共享。如果没有,返回检查server0.

[root@desktop0 ~]# showmount -e server0
Export list for server0:
/protected 172.25.0.0/24
/public    172.25.0.0/24
  • 建立相应的挂载点 /mnt/nfsmount/mnt/nfssecure

    [root@desktop0 ~]# mkdir /mnt/nfsmount
    [root@desktop0 ~]# mkdir /mnt/nfssecure
    
  • 下载kerberos证书到/etc/krb5.keytab

    [root@desktop0 ~]# wget -O /etc/krb5.keytab http://classroom.example.com/pub/keytabs/desktop0.keytab
    
  • 启动相关服务并设置开机启动

    [root@desktop0 ~]# systemctl restart nfs-secure
    [root@desktop0 ~]# systemctl enable nfs-secure
    
  • vim /etc/fstab 使得开机能自动挂载

    172.25.0.11:/public     /mnt/nfsmount   nfs     defaults        0       0
    172.25.0.11:/protected  /mnt/nfssecure  nfs     defaults        0       0
    
  • mount -a 挂载所有选项

    [root@desktop0 ~]# mount -a
    

检查

可以df -Th 查看是否有成功挂载

[root@desktop0 ~]# df -Th
Filesystem             Type      Size  Used Avail Use% Mounted on
/dev/vda1              xfs        10G  3.1G  7.0G  31% /
devtmpfs               devtmpfs  906M     0  906M   0% /dev
tmpfs                  tmpfs     921M   80K  921M   1% /dev/shm
tmpfs                  tmpfs     921M   17M  904M   2% /run
tmpfs                  tmpfs     921M     0  921M   0% /sys/fs/cgroup
tmpfs                  tmpfs     921M   17M  904M   2% /run/netns
172.25.0.11:/public    nfs4       10G  3.1G  7.0G  31% /mnt/nfsmount
172.25.0.11:/protected nfs        10G  3.1G  7.0G  31% /mnt/nfssecure

验证ldapuser0用户对project目录写的权限

[ldapuser0@desktop0 ~]$ cd /mnt/nfssecure/project/
[ldapuser0@desktop0 project]$ touch 11
[ldapuser0@desktop0 project]$ ll
total 0
-rw-rw-r--. 1 ldapuser0 ldapuser0 0 Jan  3 22:47 11
[ldapuser0@desktop0 project]$ 

你可能感兴趣的:(RHEL7,RHCE)