10、配置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

server0
[root@server0 ~]# systemctl restart nfs-server.service
[root@server0 ~]# systemctl enable nfs-server.service [root@server0 ~]# systemctl enable nfs-secure
[root@server0 ~]# systemctl restart nfs-secure
[root@server0 ~]# systemctl restart nfs-secure-server.service (无法重启,无法tab补齐)重启nfs用于安全验证的服务
[root@server0 ~]# systemctl enable nfs-secure-server.service [root@server0 ~]# firewall-cmd --permanent --add-service=nfs
[root@server0 ~]# firewall-cmd --permanent --add-service=rpc-bind 重启开机启动rpc-bind
[root@server0 ~]# firewall-cmd --permanent --add-service=mountd
[root@server0 ~]# firewall-cmd --reload [root@server0 ~]# vim /etc/sysconfig/nfs 辅助配置文件
13 RPCNFSDARGS="-V 4.2"              声明一下nfs版本, [root@server0 ~]# mkdir /public
[root@server0 ~]# mkdir /protected
[root@server0 ~]# chmod 777 /protected/ 读写 [root@server0 ~]# vim /etc/exports nfs的主要配置文件
/public *.example.com(ro)
/protected *.example.com(rw,sec=krb5p) #认证方式sec=krb5p [root@server0 ~]# exportfs -r 重新mount /etc/exports中分享出来的目录 [root@server0 ~]# wget -O /etc/krb5.keytab http://classroom.example.com/pub/keytabs/server0.keytab
                    krb5.keytab 与/etc/exports 同一目录 [root@server0 ~]# id ldapuser0
[root@server0 ~]# mkdir -pv /protected/project
[root@server0 ~]# ll /protected/project/ -d
[root@server0 ~]# chown ldapuser0:ldapuser0 /protected/project/ 用户,组为ldapuser0 [root@server0 ~]# systemctl restart nfs-server.service
[root@server0 ~]# systemctl restart nfs-secure
[root@server0 ~]# systemctl restart nfs-secure-server.service (重启成功)
[root@server0 ~]# showmount -e 172.25.0.11

  

nfs加密的方式,一共有三种方式krb5,krb5i,krb5p:
krb5 基于Kerberos票据的认证;
krb5i 挂载时校验数据完整性;
krb5p通过kerberos认证,并且对数据进行加密

  

11、挂载一个NFS共享

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

[root@server0 ~]# showmount -e 172.25.0.11

[root@desktop0 ~]# mkdir /mnt/nfsmount
[root@desktop0 ~]# mkdir /mnt/nfssecure [root@desktop0 ~]# mount server0.example.com:/public /mnt/nfsmount/
[root@desktop0 ~]# mount server0.example.com:/protected /mnt/nfssecure/ [root@desktop0 ~]# vim /etc/fstab
server0.example.com:/public /mnt/nfsmount nfs defaults 0 0
server0.example.com:/protected /mnt/nfssecure nfs defaults,sec=krb5p,v4.2 0 0 [root@desktop0 ~]# wget -O /etc/krb5.keytab http://classroom.example.com/pub/keytabs/desktop0.keytab [root@server0 ~]# systemctl restart nfs
[root@server0 ~]# systemctl enable nfs
[root@server0 ~]# systemctl enable nfs-server
[root@server0 ~]# systemctl restart nfs-server
[root@desktop0 ~]# systemctl enable nfs-secure (nfs两个用于安全验证的服务)
[root@desktop0 ~]# systemctl restart nfs-secure (tab无法补齐)
[root@desktop0 ~]# systemctl enable nfs-secure-server.service
[root@desktop0 ~]# systemctl restart nfs-secure-server.service [root@desktop0 ~]# mount -a
[root@desktop0 ~]# df -h

  

测试
[root@desktop0 ~]# su - ldapuser0
[ldapuser0@desktop0 nfsmount]$ ll /mnt
[ldapuser0@desktop0 nfsmount]$ cd /mnt/nfssecure
-bash: cd: /mnt/nfssecure: Permission denied ##提示被拒绝
[ldapuser0@desktop0 nfsmount]$ exit kerbero登录
[root@desktop0 ~]# ssh ldapuser0@localhost
Are you sure you want to continue connecting (yes/no)? yes
ldapuser0@localhost's password: ##密码为kerberos [ldapuser0@desktop0 nfssecure]$ cd /mnt/nfssecure/project/
[ldapuser0@desktop0 project]$ ll /mnt/nfssecure/project/ -d
[ldapuser0@desktop0 project]$ touch 3333
[ldapuser0@desktop0 project]$ exit
[ldapuser0@desktop0 project]$ exit

  

[root@server0 ~]# systemctl restart nfs
[root@server0 ~]# systemctl enable nfs
[root@server0 ~]# systemctl restart nfs-server.service
[root@server0 ~]# systemctl enable nfs-server.service [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 [root@server0 ~]# vim /etc/sysconfig/nfs
RPCNFSDARGS="-V 4.2" [root@server0 ~]# mkdir /public
[root@server0 ~]# mkdir /protected [root@server0 ~]# chmod 777 /protected/
[root@server0 ~]# ll /protected/ -d
drwxrwxrwx. 2 root root 6 Oct 19 21:39 /protected/ [root@server0 ~]# vim /etc/exports
/public *(ro)
/protected *(rw) /public *.example.com(ro)
/protected *.example.com(rw) [root@server0 ~]# exportfs -r [root@server0 ~]# systemctl restart nfs
[root@server0 ~]# systemctl restart nfs-server [root@server0 ~]# showmount -e 172.25.0.11

  

[root@desktop0 ~]# showmount -e 172.25.0.11

[root@desktop0 ~]# systemctl restart nfs
[root@desktop0 ~]# systemctl restart nfs-server
[root@desktop0 ~]# systemctl enable nfs
[root@desktop0 ~]# systemctl enable nfs-server.service [root@desktop0 ~]# mkdir -pv /mnt/nfssmount
[root@desktop0 ~]# mkdir -pv /mnt/nfssecure [root@desktop0 ~]# mount 172.25.0.11:/public /mnt/nfsmount/
[root@desktop0 ~]# mount 172.25.0.11:/protected /mnt/nfssecure/ [root@desktop0 ~]# mount server0.example.com:/public /mnt/nfsmount/
[root@desktop0 ~]# mount server0.example.com:/protected /mnt/nfssecure/ [root@desktop0 ~]# mount -a
[root@desktop0 ~]# df -h
172.25.0.11:/public 10G 3.1G 7.0G 31% /mnt/nfsmount [root@desktop0 ~]# mount
172.25.0.11:/protected on /mnt/nfssecure
172.25.0.11:/public on /mnt/nfsmount [root@desktop0 mnt]# cd nfsmount/
[root@desktop0 nfsmount]# touch 3
touch: cannot touch ‘3’: Read-only file system [root@desktop0 ~]# cd /mnt/nfssecure/
[root@desktop0 nfssecure]# touch 4
[root@desktop0 nfssecure]# ll
total 0
-rw-r--r--. 1 nfsnobody nfsnobody 0 Oct 19 21:46 4

  

[root@server0 ~]# cd /protected/
[root@server0 protected]# mkdir project [root@server0 ~]# chown ldapuser0:ldapuser0 /protected/project/
[root@server0 ~]# ll /protected/project/ -d
drwxr-xr-x. 2 ldapuser0 root 6 Oct 19 21:50 /protected/project/ [root@desktop0 ~]# su - ldapuser0
[ldapuser0@desktop0 ~]$ cd /mnt/nfssecure/project [ldapuser0@desktop0 project]$ touch 4
[ldapuser0@desktop0 project]$ ll
total 0
-rw-rw-r--. 1 ldapuser0 ldapuser0 0 Oct 19 21:52 4

  

[root@server0 ~]# wget -O /etc/krb5.keytab http://classroom.example.com/pub/keytabs/server0.keytab

[root@server0 ~]# vim /etc/exports
/public *.example.com(ro)
/protected *.example.com(rw,sec=krb5p)
[root@server0 ~]# exportfs -r [root@server0 ~]# systemctl restart nfs-secure
[root@server0 ~]# systemctl enable nfs-secure [root@server0 ~]# systemctl restart nfs-secure-server
[root@server0 ~]# systemctl enable nfs-secure-server [root@desktop0 ~]# wget -O /etc/krb5.keytab http://classroom.example.com/pub/keytabs/desktop0.keytab [root@desktop0 ~]# systemctl restart nfs-secure
[root@desktop0 ~]# systemctl restart nfs-secure-server
[root@desktop0 ~]# systemctl enable nfs-secure-server
[root@desktop0 ~]# systemctl enable nfs-secure [root@desktop0 ~]# systemctl restart nfs-server
[root@desktop0 ~]# systemctl enable nfs-server [ldapuser0@desktop0 ~]$ vim /etc/fstab
server0.example.com:/public /mnt/nfsmount nfs defaults 0 0
server0.example.com:/protected /mnt/nfssecure nfs defaults,sec=krb5p,v4.2 0 0 [root@desktop0 ~]# mount -a
[root@desktop0 ~]# df -h

  

[root@desktop0 ~]# su - ldapuser0
[ldapuser0@desktop0 ~]$ ll /mnt/
ls: cannot access /mnt/nfssecure: Operation not permitted
total 4
drwxr-xr-x. 3 root root 4096 Oct 19 21:20 data
drwxr-xr-x. 2 root root 6 Oct 19 21:39 nfsmount
??????????? ? ? ? ? ? nfssecure [root@desktop0 ~]# ssh ldapuser0@loaclhost
kerberos
[ldapuser0@desktop0 ~]$ ll /mnt

  

day3 RHCE的更多相关文章

  1. 红帽RHEL7版本RHCE认证学习及考试经历

    RHCE是红帽公司推出的Linux系统的中级认证,考试全部采取上机形式,在考察考生的基础理论知识的同时还能考察实践动手操作能力,在Linux领域的价值是不可否认的,所以对于期望从事相关行业的同学们在上 ...

  2. 【转】RHCE 7系列—RHCE考试

    本篇主要以RHCE练习题为线索,介绍其中涉及的知识点. 红色引用的字为题目要求(不是正式题目,难度略低于正式题目) In serverX or desktopX 1. (lab teambridge ...

  3. RHCE 系列(二):如何进行包过滤、网络地址转换和设置内核运行时参数

    正如第一部分(“设置静态网络路由”)提到的,在这篇文章(RHCE 系列第二部分),我们首先介绍红帽企业版 Linux 7(RHEL)中包过滤和网络地址转换(NAT)的原理,然后再介绍在某些条件发生变化 ...

  4. RHCE 系列(一):如何设置和测试静态网络路由

    RHCE(Red Hat Certified Engineer,红帽认证工程师)是红帽公司的一个认证,红帽向企业社区贡献开源操作系统和软件,同时它还给公司提供训练.支持和咨询服务. 这个 RHCE 是 ...

  5. 冲刺阶段day3

    day3 项目进展 今天周三,我们五个人难得的一整个下午都能聚在一起.首先我们对昨天的成果一一地查看了一遍,并且坐出了修改.后面的时间则是做出 登录界面的窗体,完善了登录界面的代码,并且实现了其与数据 ...

  6. python笔记 - day3

    python笔记 - day3 参考:http://www.cnblogs.com/wupeiqi/articles/5453708.html set特性: 1.无序 2.不重复 3.可嵌套 函数: ...

  7. python_way,day3 集合、函数、三元运算、lambda、python的内置函数、字符转换、文件处理

    python_way,day3 一.集合 二.函数 三.三元运算 四.lambda 五.python的内置函数 六.字符转换 七.文件处理 一.集合: 1.集合的特性: 特性:无序,不重复的序列 如果 ...

  8. Spark菜鸟学习营Day3 RDD编程进阶

    Spark菜鸟学习营Day3 RDD编程进阶 RDD代码简化 对于昨天练习的代码,我们可以从几个方面来简化: 使用fluent风格写法,可以减少对于中间变量的定义. 使用lambda表示式来替换对象写 ...

  9. Spark Tungsten揭秘 Day3 内存分配和管理内幕

    Spark Tungsten揭秘 Day3 内存分配和管理内幕 恭喜Spark2.0发布,今天会看一下2.0的源码. 今天会讲下Tungsten内存分配和管理的内幕.Tungsten想要工作,要有数据 ...

随机推荐

  1. iOS UI的几种模式

    iOS UI的几种模式: 1.平凡模式(原生控件组合): 2.新闻模式: 3.播放器模式: 4.微博模式:

  2. 协议森林08 不放弃 (TCP协议与流通信)

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! TCP(Transportation Control Protocol)协议与IP ...

  3. 安装LAMP PHP的./configure 參数,未出现MYSQ

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/default7/article/details/30613781 编译參数: ./configure ...

  4. 对deferred(延迟对象)的理解

    deferred对象从jQuery 1.5.0开始引入 什么是defrred对象 开发网站过程中,我们经常遇到某些耗时长的JS操作,其中,既有异步操作(如Ajax读取服务器数据),也有同步的操作(如遍 ...

  5. springmvc与Structs2本质区别

    1.前端控制器不同:structs2入口是一个filter过滤器,springmvc入口是一个servlet. 2.设计思想不同: struts2通过在action类中定义成员变量接收请求参数,str ...

  6. rocketmq命令【转】

    首先进入 RocketMQ 工程,进入/RocketMQ/bin   在该目录下有个 mqadmin 脚本 .  查看帮助:   在 mqadmin 下可以查看有哪些命令    a: 查看具体命令的使 ...

  7. php7.0编译安装

    1.解压安装  tar zxvf php-7.0.2.tar.gz  cd php-7.0.2 2.安装依赖库: yum -y install libjpeg libjpeg-devel libpng ...

  8. Java 今天是否为节假日

    /** * 测试今天是不是节假日 * 创建日期:2017年8月30日上午10:00:41 * 修改日期: * 作者:zhangsp * TODO * return */ public void wor ...

  9. linux查看nginx、apache、php、php-fpm、mysql及配置项所在目录

    可以先总结下:大都是先用 which 获取目录:然后再获取配置项位置: which  mysql /usr/bin/mysql /usr/bin/mysql --help | grep -A1 'De ...

  10. python 输入一个字符,是小写转换为大写,大写转换为小写,其他字符原样输出

    s = input('请输入一个字符:') if 'a' <= s <= 'z': print(chr(ord(s) - 32)) elif 'A' <= s <= 'Z': ...