美文网首页
魔都上海静安考红帽rhce记录

魔都上海静安考红帽rhce记录

作者: 左诗右码 | 来源:发表于2019-10-13 21:43 被阅读0次

    发文申明

    1. 本文仅对自己练习 rhce 题目做一个记录,同时纪念自己考试经历。不涉及任何推广或广告。
    2. 文中题库来源于“淘宝环境”(一般参考朋友都明白指的是哪一套环境,如果确实不知道,可以给我留言,我可以贡献一份。当天去考场的时候,我们在静安考场发现考场使用的练习环境也是“淘宝环境”,不得不说题库还是比较准确的)
    3. “淘宝环境”前 1-6 题,因为大部分可以直接使用图形化界面答题,避免通篇都是图片,前 1-6 题,只会罗列出关键步骤,具体步骤请参考“淘宝环境”配套提供的教学视频解题。本文将从第 7 题开始详细提供参考解答方案。

    关于练题心态

    • 刚开始练题的时候,肯定会有很多不熟悉的地方,建议可以针对性的练习,可以先针对自己觉得比较难的题目练习,但一定要切记注意题与题之间的依赖关系。
    • 一定要注意,向他人请教解题的方法仅供自己参考,寻找适合自己的方式方法,最为重要!
    • 少听一些考生抱怨考场环境之类的,你要相信,只要是你自己练的好,再垃圾的环境,你都能够保证你可以考过。当然你也可以发现,喜欢抱怨的考生自身本来就练的不怎么样。
    • CE 练题,一定要让自己达到扫一眼题目就知道该题目的解题步骤这样的境界,先在脑海中思考一下答题步骤,再答题。
    • 考试时一条命令敲完之后,强烈建议不要马上就敲回车,再检查一下自己敲的命令,确认无误之后再回车。你要相信排错比你检查要花时间多得多,并且有时候你一旦命令敲错了,可能会导致剩下的题目无法继续下去。比如:分区时,你一不小心分了 4 个主分区,然而你又不会删除分区,这样就直接导致你后面关于分区的题目无法进行。得不偿失!
    • 考试做完之后,强烈建议先敲击 sync 命令强制同步数据到硬盘中,然后先关闭 system2 (客户端)再关闭 system1(服务端),开机的时候先开启 system1 (服务端)再开启 system2 (客户端),原因:system1 提供服务,system2 挂载服务,开关机顺序不正确,极大可能性会导致挂载失败!
    • 另外,挂载 iscsi 网络存储时,一定要注意添加 _netdev 参数,防止因为网络原因,导致挂载失败!
    • 习武之人,不怕练千万招,就怕一招练千万遍!祝大家考试顺利!

    考试背景

    考试地点:上海静安考场(上海静安区也就那么一个考场,为避免广告之嫌,具体位置请自己查询,或直接给我留言)
    考场环境:系统为 redhat 7.0 64 位,使用 kvm 虚拟机,因此需注意硬盘为 /dev/vd*
    考试时间:2019 年 9 月 6 日

    如果把 RHCE 题库做一个分类,那么我做的分类如下:

    • postfix 邮件服务类
    • samba 共享服务类
    • nfs 共享服务类
    • Apache web 服务类
    • 脚本类
    • iscsi 网络存储类
    • MariaDB 数据库类

    本人解题整体步骤为:

    1. 需要安装服务,则优先安装服务
    2. 如果需要创建文件夹,则优先创建文件夹(并且设置 selinux 上下文)
    3. 如果需要创建服务账号,则优先创建服务账号
    4. 写配置文件
    5. 重启服务,并将服务加入开机启动项
    6. 设置相应的防火墙(优先使用防火墙中的富规则过滤,因为富规则的优先级最高)
    7. 简单测试一下

    RHCE 考试步骤较多,如果完全靠自己死记硬背,基本上很难通过考试,但是如果能够按照以上的解题步骤来,多半情况下不会忘记步骤,下文我将提供本人的解题步骤,以供各位参考。

    淘宝题库

    环境说明:

    system1.group8.example.com : 172.24.8.11/24 作为服务器
    system2.group8.example.com : 172.24.8.12/24 作为客户端
    server.group8.example.com 提供了YUM软件仓库,URL是 http://server.group8.example.com/yum

    • system1 和 system2 需要先配置 yum 仓库

    system1system2

    [root@system1 Desktop]# vim /etc/yum.repos.d/rhce.repo
    [root@system1 Desktop]# yum clean all
    [root@system1 Desktop]# yum makecache
    
    image.png

    rhce.repo 文件中内容

    [rhce]
    name=rhce
    baseurl=http://server.group8.example.com/yum
    enabled=1
    gpgcheck=0
    
    image.png
    • 第一题:设定 SELinux

    在 system1 和 system2 上要求 SELinux 的工作模式为 enforcing :
    1.要求系统重启后依然生效。

    参考解题步骤:

    system1system2

    [root@system1 Desktop]# vim /etc/selinux/config 
    

    [图片上传失败...(image-b4a7ce-1568248841042)]


    • 第二题:配置防火墙

    请按下列要求在 system1 和 system2 上设定防火墙系统:
    1.允许 group8.example.com 域的客户对 system1 和 system2 进行 ssh 访问。
    2.禁止 my133t.org 域的客户对 system1 和 system2 进行 ssh 访问。
    3.备注: my133t.org 是在 172.13.8.0/24 网络

    参考解题步骤:

    system1system2

    [root@system1 Desktop]# firewall-config
    
    image.png
    • 第三题:自定义用户环境

    在系统system1和system2上创建自定义命令为qstat ,要求:
    1.此自定义命令将执行以下命令:/bin/ps -Ao pid,tt,user,fname,rsz
    2.此命令对系统中的所有用户有效

    参考解题步骤:

    system1system2

    [root@system1 Desktop]# vim /etc/profile
    [root@system1 Desktop]# source /etc/profile
    [root@system1 Desktop]# qstat
    

    /etc/profile 配置文件中内容

    alias qstat='/bin/ps -Ao pid,tt,user,fname,rsz'
    
    image.png
    • 第四题:配置端口转发

    在系统 system1 设定端口转发,要求:
    1.在 172.24.8.0/24 网络中的系统,访问 system1 的本地端口 5423 将被转发到 80
    2.此设置必须永久有效

    参考解题步骤:

    system1

    image.png image.png image.png
    • 第五题:配置链路聚合

    在 system2 和 system1 之间按以下要求设定一个链路:
    1.此链路使用接口 eth1 和 eth2
    2.此链路在一个接口失效时仍然能工作
    3.此链路在 system1 使用下面的地址 172.16.3.40/255.255.255.0
    4.此链路在 system2 使用下面的地址 172.16.3.45/255.255.255.0
    5.此链路在系统重启之后依然保持正常状态

    参考解题步骤:

    system1

    [root@system1 Desktop]# nm-connection-editor
    [root@system1 Desktop]# systemctl restart network
    [root@system1 Desktop]# ping 172.16.3.40
    [root@system1 Desktop]# ping 172.16.3.45
    
    image.png image.png

    system2

    image.png
    [root@system2 Desktop]# nm-connection-editor
    [root@system2 Desktop]# systemctl restart network
    [root@system2 Desktop]# ping 172.16.3.45
    [root@system2 Desktop]# ping 172.16.3.40
    
    {"runner":{"name":"activebackup"}}
    

    • 第六题:配置 IPV6 地址

    在考试系统上设定接口 eth0 使用下列 IPV6 地址:
    1.system1 上的地址应该是 2003:ac18::305/64
    2.system2 上的地址应该是 2003:ac18::30a/64
    3.两个系统必须能与网络 2003:ac18/64 内的系统通信
    4.地址必须在重启后依然生效
    5.两个系统必须保持当前的 IPV4 地址并能通信

    参考解题步骤:

    system1

    [root@system1 Desktop]# nm-connection-editor
    [root@system1 Desktop]# systemctl restart network
    [root@system1 Desktop]# ping6 2003:ac18::305
    [root@system1 Desktop]# ping6 2003:ac18::30a
    
    image.png image.png

    system2

    [root@system2 Desktop]# nm-connection-editor
    [root@system2 Desktop]# systemctl restart network
    [root@system2 Desktop]# ping6 2003:ac18::30a
    [root@system2 Desktop]# ping6 2003:ac18::305
    
    image.png
    • 第七题:配置本地邮件服务

    在系统 system2 和 system1 上配置邮件服务,要求:
    1.这些系统不接受外部发送来的邮件
    2.在这些系统上本地发送的任何邮件都会自动路由到 mail.group8.example.com
    从这些系统上发送的邮件显示来自于 server.group8.example.com
    3.您可以通过发送邮件到本地用户 dave 来测试您的配置,系统 server.group8.example.com 已经配置把此用户的邮件转到URL http://server.group8.example.com/pub/received_mail/8

    参考解题步骤:

    system1system2

    [root@system1 Desktop]# vim /etc/postfix/main.cf 
    [root@system1 Desktop]# systemctl restart postfix
    [root@system1 Desktop]# systemctl enable postfix
    [root@system1 Desktop]# firewall-cmd --permanent --add-service=smtp
    [root@system1 Desktop]# firewall-cmd --reload
    [root@system1 Desktop]# echo "test content" | mail -s "testobject" dave
    [root@system1 Desktop]# curl http://server.group8.example.com/pub/received_mail/8
    
    98 local_transport = error:local    (需单独添加)
    99 myorigin = server.group8.example.com
    314 relayhost = mail.group8.example.com
    
    image.png image.png image.png
    • 第八题:通过 SMB 共享目录

    在 system1 上配置 SMB 服务 ,要求:
    1.您的 SMB 服务器必须是 STAFF 工作组的一个成员
    2.共享 /common 目录,共享名必须为 common
    3.只有 group8.example.com 域内的客户端可以访问 common 共享
    4.common 必须是可以浏览的
    5.用户 andy 必须能够读取共享中的内容,如果需要的话,验证密码是 redhat

    参考解题步骤:

    system1

    [root@system1 Desktop]# yum -y install samba samba-client
    [root@system1 Desktop]# mkdir /common
    [root@system1 Desktop]# chcon -R -t samba_share_t /common
    [root@system1 Desktop]# id andy
    [root@system1 Desktop]# smbpasswd -a andy
    [root@system1 Desktop]# vim /etc/samba/smb.conf 
    [root@system1 Desktop]# setsebool -P samba_enable_home_dirs on
    [root@system1 Desktop]# systemctl restart smb nmb
    [root@system1 Desktop]# systemctl enable smb nmb
    [root@system1 Desktop]# firewall-config
    

    设置防火墙

    [root@system1 Desktop]# firewall-cmd --permanent --add-service=samba
    [root@system1 Desktop]# firewall-cmd --permanent --add-service=mountd
    [root@system1 Desktop]# firewall-cmd --reload
    

    配置文件填写内容

     89         workgroup = STAFF
    321 [common]
    322 path = /common
    323 hosts allow = 172.24.8.
    324 browseable = yes
    
    image.png image.png image.png image.png

    验证:

    system2

    [root@system2 Desktop]# yum -y install samba-client cifs-utils
    [root@system2 Desktop]# smbclient -L //172.24.8.11 -U andy
    
    image.png
    • 第九题:配置多用户 SMB 挂载

    在 system1 通过 SMB 共享目录 /devops ,并满足下列要求:
    1.共享名为 devops
    2.共享目录 devops 只能 group8.example.com 域中的客户端使用
    3.共享目录 devops 必须可以被浏览
    4.用户 silene 必须能以读的方式访问此共享,访问密码是redhat
    5.用户 akira 必须能以读写的方式访问此共享,访问密码是redhat
    6.此共享永久挂载在 system2.group8.example.com 上的 /mnt/dev 目录,并使用用户 silene 作为认证任何用户,可以通过用户 akira 来临时获取写的权限

    参考解题步骤:

    system1

    [root@system1 Desktop]# ls -ald /devops
    [root@system1 Desktop]# mkdir /devops
    [root@system1 Desktop]# chmod o+w /devops
    [root@system1 Desktop]# chcon -R -t samba_share_t /devops
    [root@system1 Desktop]# id silene
    [root@system1 Desktop]# smbpasswd -a silene
    [root@system1 Desktop]# id akira
    [root@system1 Desktop]# smbpasswd -a akira
    [root@system1 Desktop]# vim /etc/samba/smb.conf
    [root@system1 Desktop]# systemctl restart smb nmb
    

    配置文件填写内容

    325 [devops]
    326 path = devops
    327 hosts allow = 172.24.8.
    328 browseable = yes
    329 writable = no
    330 write list = akira
    
    image.png

    system2

    [root@system2 Desktop]# yum -y install cifs*
    [root@system2 Desktop]# smbclient -L //172.24.8.11 -U silene
    [root@system2 Desktop]# smbclient -L //172.24.8.12 -U akira
    [root@system2 Desktop]# ls -ald /mnt/dev
    [root@system2 Desktop]# mkdir -p /mnt/dev
    [root@system2 Desktop]# vim /etc/fstab 
    [root@system2 Desktop]# mount -a
    [root@system2 Desktop]# df -hT
    

    /etc/fstab 挂载配置文件中填写内容

    //172.24.8.11/devops /mnt/dev cifs defaults,multiuser,username=silene,password=redhat,sec=ntlmssp 0 0
    
    image.png image.png
    • 第十题:配置 NFS 服务

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

    参考解题步骤:

    system1

    [root@system1 Desktop]# ls -ald /public
    [root@system1 Desktop]# mkdir /public
    [root@system1 Desktop]# ls -ald /protected
    [root@system1 Desktop]# mkdir -p /protected/project
    [root@system1 Desktop]# chown andres /protected/project
    [root@system1 Desktop]# ls -ald /protected/project
    [root@system1 Desktop]# chcon -R -t public_content_t /public
    [root@system1 Desktop]# chcon -R -t public_content_t /protected
    [root@system1 Desktop]# wget -O /etc/krb5.keytab http://server.group8.example.com/pub/keytabs/system1.keytab
    [root@system1 Desktop]# vim /etc/sysconfig/nfs 
    [root@system1 Desktop]# vim /etc/exports
    [root@system1 Desktop]# systemctl restart nfs-server nfs-secure-server
    [root@system1 Desktop]# systemctl enable nfs-server nfs-secure-server
    [root@system1 Desktop]# firewall-config 
    [root@system1 Desktop]# exportfs -r
    

    /etc/sysconfig/nfs 配置文件中填写的内容

     13 RPCNFSDARGS="-V 4.2"
    
    image.png

    /etc/exports 配置文件中填写内容

      1 /public 172.24.8.0/24(ro)
      2 /protected 172.24.8.0/24(rw,sec=krb5p)
    

    设置防火墙

    [root@system1 Desktop]# firewall-cmd --permanent --add-service=nfs
    [root@system1 Desktop]# firewall-cmd --permanent --add-service=rpc-bind
    [root@system1 Desktop]# firewall-cmd --reload
    

    • 第十一题:挂载一个 NFS 共享

    在 system2 上挂载一个来自 system1.group8.example.com 的 NFS 共享,并符合下列要求:
    1./public 挂载在下面的目录上 /mnt/nfsmount
    2./protected 挂载在下面的目录上 /mnt/nfssecure 并使用安全的方式,密钥下载 URL 如下:http://server.group8.example.com/pub/keytabs/system2.keytab
    3.用户 andres 能够在 /mnt/nfssecure/project 上创建文件
    4.这些文件系统在系统启动时自动挂载

    参考解题步骤:

    system2

    [root@system2 Desktop]# showmount -e 172.24.8.11
    [root@system2 Desktop]# systemctl restart nfs-secure
    [root@system2 Desktop]# systemctl enable nfs-secure
    [root@system2 Desktop]# ls -ald /mnt/nfsmount
    [root@system2 Desktop]# mkdir -p /mnt/nfsmount
    [root@system2 Desktop]# ls -ald /mnt/nfssecure
    [root@system2 Desktop]# mkdir -p /mnt/nfssecure
    [root@system2 Desktop]# wget -O /etc/krb5.keytab http://server.group8.example.com/pub/keytabs/system2.keytab
    [root@system2 Desktop]# vim /etc/fstab 
    [root@system2 Desktop]# mount -a
    [root@system2 Desktop]# df -hT
    

    /etc/fstab 挂载配置文件填写的内容

    172.24.8.11:/public /mnt/nfsmount nfs defaults 0 0
    172.24.8.11:/protected /mnt/nfssecure nfs defaults,sec=krb5p,v4.2 0 0
    
    image.png
    • 第十二题:实现一个 web 服务器

    在 system1 上配置一个站点 http://system1.group8.example.com/,然后执行下述步骤:
    1.从 http://server.group8.example.com/pub/system1.html 下载文件,并且将文件重名为 index.html 不要修改此文件的内容
    2.将文件 index.html 拷贝到您的 web 服务器的 DocumentRoot 目录下
    3.来自于 group8.example.com 域的客户端可以访问此 web 服务
    4.来自于 my133t.org 域的客户端拒绝访问此 web 服务

    参考解题步骤:

    system1

    [root@system1 Desktop]# yum -y install httpd
    [root@system1 Desktop]# cp /usr/share/doc/httpd-2.4.6/httpd-vhosts.conf /etc/httpd/conf.d/
    [root@system1 Desktop]# cd /var/www/html
    [root@system1 html]# wget -O index.html http://server.group8.example.com/pub/system1.html
    [root@system1 html]# vim /etc/httpd/conf.d/httpd-vhosts.conf
    [root@system1 html]# systemctl restart httpd
    [root@system1 html]# systemctl enable httpd
    [root@system1 html]# firewall-config
    
    image.png

    /etc/httpd/conf.d/httpd-vhosts.conf 网站配置文件中应该写的内容

    <VirtualHost *:80>
        DocumentRoot "/var/www/html"
        ServerName system1.group8.example.com
    </VirtualHost>
    

    [图片上传失败...(image-d85922-1568248841043)]

    image.png image.png
    • 第十三题:配置安全 web 服务

    为站点 http://system1.group8.example.com 配置 TLS 加密:
    1.一个已签名证书从 http://server.group8.example.com/pub/tls/certs/system1.crt 获取
    2.此证书的密钥从 http://server.group8.example.com/pub/tls/private/system1.key 获取
    3.此证书的签名授权信息从 http://server.group8.example.com/pub/tls/certs/ssl-ca.crt 获取

    参考解题步骤:

    system1

    [root@system1 Desktop]# yum -y install mod_ssl
    [root@system1 Desktop]# cd /var/www/html
    [root@system1 html]# wget http://server.group8.example.com/pub/tls/certs/system1.crt
    [root@system1 html]# wget http://server.group8.example.com/pub/tls/private/system1.key
    [root@system1 html]# wget http://server.group8.example.com/pub/tls/certs/ssl-ca.crt
    [root@system1 html]# vim /etc/httpd/conf.d/ssl.conf    (用于参考的配置文件)
    [root@system1 html]# vim /etc/httpd/conf.d/httpd-vhosts.conf
    [root@system1 html]# setsebool -P httpd_read_user_content=on
    [root@system1 html]# systemctl restart httpd
    

    /etc/httpd/conf.d/httpd-vhosts.conf 网站配置文件中应该写的内容

    <VirtualHost *:443>
    SSLEngine on
    SSLProtocol all -SSLv2
    SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5
    SSLHonorCipherOrder on
        DocumentRoot "/var/www/html"
        ServerName system1.group8.example.com
    SSLCertificateFile /var/www/html/system1.crt
    SSLCertificateKeyFile /var/www/html/system1.key
    SSLCACertificateFile /var/www/html/ssl-ca.crt
    </VirtualHost>
    
    /etc/httpd/conf.d/ssl.conf 参考的配置文件

    [图片上传失败...(image-213888-1568248841043)]

    image.png
    • 第十四题:配置虚拟主机

    在 system1 上扩展您的 web 服务器,为站点 http://www8.group8.example.com 创建一个虚拟主机,然后执行下述步骤:
    1.设置 DocumentRoot 为 /var/www/virtual
    2.从 http://server.group8.example.com/pub/www8.html 下载文件重名为 index.html ,不要对文件 index.html 的内容做任何修改
    3.将文件 index.html 放到虚拟主机的 DocumentRoot 目录下
    4.确保 andy 用户能够在 /var/www/virtual 目录下创建文件

    注意:原站点 http://system1.group8.example.com 必须仍然能够访问,名称服务器 server.group8.example.com 已经提供对主机名 www8.group8.example.com 的域名解析

    参考解题步骤:

    system1

    [root@system1 Desktop]# mkdir /var/www/virtual
    [root@system1 Desktop]# cd /var/www/virtual
    [root@system1 virtual]# getfacl /var/www/virtual
    [root@system1 virtual]# setfacl -Rm u:andy:rwx /var/www/virtual
    [root@system1 virtual]# getfacl /var/www/virtual
    [root@system1 virtual]# wget -O index.html http://server.group8.example.com/pub/www8.html
    [root@system1 virtual]# vim /etc/httpd/conf.d/httpd-vhosts.conf
    [root@system1 virtual]# systemctl restart httpd
    
    

    /etc/httpd/conf.d/httpd-vhosts.conf 配置文件中填写内容

    <VirtualHost *:80>
        DocumentRoot "/var/www/virtual"
        ServerName www8.group8.example.com
    </VirtualHost>
    
    image.png
    • 第十五题:配置 web 内容的访问

    在您的 system1 上的 web 服务器的 DocumentRoot 目录下,创建一个名为 private 的目录,要求如下:
    1.从 http://server.group8.example.com/pub/private.html 下载一个文件副本到这个目录,并且重命名为 index.html
    2.不要对这个文件的内容做任何修改
    3.从 system1 上,任何人都可以浏览 private 的内容,但是从其它系统不能访问这个目录的内容。

    参考解题步骤:

    system1

    [root@system1 virtual]# cd /var/www/html
    [root@system1 html]# mkdir private
    [root@system1 html]# cd private/
    [root@system1 private]# wget -O index.html http://server.group8.example.com/pub/private.html
    [root@system1 private]# vim /etc/httpd/conf/httpd.conf  (用于参考的配置文件)
    [root@system1 private]# vim /etc/httpd/conf.d/httpd-vhosts.conf
    [root@system1 private]# systemctl restart httpd
    

    /etc/httpd/conf.d/httpd-vhosts.conf 配置文件中填写内容

    <Directory "/var/www/html/private">
        AllowOverride none
        Require all denied
        Require local
    </Directory>
    
    image.png

    [图片上传失败...(image-ffec25-1568248841043)]


    • 第十六题:实现动态 WEB 内容

    在 system1 上配置提供动态 web 内容,要求:
    1.动态内容由名为 wsgi.group8.example.com 的虚拟主机提供
    2.虚拟主机侦听在端口 8909
    3.从 http://server.group8.example.com/pub/webinfo.wsgi 下载一个脚本,然后放在适当的位置,无论如何不要求修改此文件的内容
    4.客户端访问 http://wsgi.group8.example.com:8909/ 时,应该接收到动态生成的 web 页面
    5.此 http://wsgi.group8.example.com:8909/ 必须能被 group8.example.com 域内的所有系统访问

    参考解题步骤:

    system1

    [root@system1 private]# cd /var/www/html
    [root@system1 html]# yum -y install mod_wsgi
    [root@system1 html]# wget http://server.group8.example.com/pub/webinfo.wsgi
    [root@system1 html]#  vim /etc/httpd/conf.d/httpd-vhosts.conf
    [root@system1 html]# semanage port -a -t http_port_t -p tcp 8909
    [root@system1 html]# systemctl restart httpd
    

    /etc/httpd/conf.d/httpd-vhosts.conf 配置文件中填写内容

    listen 8909
    <VirtualHost *:8909>
        WSGIScriptAlias / /var/www/html/webinfo.wsgi
        ServerName wsgi.group8.example.com
    </VirtualHost>
    
    image.png image.png
    • 第十七题:创建一个脚本

    在 system1 上创建一个名为 /root/foo.sh 的脚本,让其提供下列特性:
    1.当运行 /root/foo.sh redhat ,输出为 fedora
    2.当运行 /root/foo.sh fedora ,输出为 redhat
    3.当没有任何参数或者参数不是 redhat 或者 fedora 时,其错误输出产生以下的信息:
    /root/foo.sh redhat | fedora

    参考解题步骤:

    system1

    [root@system1 html]# cd ~
    [root@system1 ~]# vim /root/foo.sh
    [root@system1 ~]# chmod a+x /root/foo.sh
    

    /root/foo.sh 文件中需要填写的内容

    case $1 in
    redhat)
    echo 'fedora'
    ;;
    fedora)
    echo 'redhat'
    ;;
    *)
    echo '/root/foo.sh redhat | fedora'
    ;;
    esac
    
    image.png
    • 第十八题:创建一个添加用户的脚本

    在 system1 上创建一个脚本,名为 /root/batchusers ,此脚本能实现为系统 system1 创建本地用户,并且这些用户的用户名来自一个包含用户名列表的文件,同时满足下列要求:
    1.此脚本要求提供一个参数,此参数就是包含用户名列表的的文件
    2.如果没有提供参数,此脚本应该给出下面的提示信息 Usage: /root/batchusers userfile 然后退出并返回相应的值
    3.如果提供一个不存在的文件名,此脚本应该给出下面的提示信息 Input file not found 然后退出并返回相应的值
    4.创建的用户登录 shell 为 /bin/false
    5.此脚本不需要为用户设置密码
    6.您可以从下面的 URL 获取用户名列表作为测试用 http://server.group8.example.com/pub/userlist

    参考解题步骤:

    system1

    [root@system1 ~]# cd ~
    [root@system1 ~]# wget http://server.group8.example.com/pub/userlist
    [root@system1 ~]# more userlist
    [root@system1 ~]# vim /root/batchusers
    [root@system1 ~]# chmod a+x /root/batchusers
    
    

    /root/batchusers 文件中需要填写的内容

    if [ $# -eq 0 ];then
    echo 'Usage: /root/batchusers userfile'
    exit 1
    fi
    if [ ! -f $1 ];then
    echo 'Input file not found'
    exit 1
    fi
    while read line
    do
    useradd -s /bin/false $line
    done < $1
    

    • 第十九题:配置 ISCSI 服务端

    配置 system1 提供一个 ISCSI 服务 磁盘名为 iqn.2014-08.com.example.group8:system1 ,并符合下列要求:
    1.服务端口为 3260
    2.使用 iscsi_store 作其后端逻辑卷名称,其大小为 3G
    3.此服务只能被 system2.group8.example.com 访问

    参考解题步骤:

    system1

    [root@system1 ~]# yum -y install target*
    [root@system1 ~]# ls -ald /dev/sd*
    [root@system1 ~]# fdisk /dev/sda
    [root@system1 ~]# partprobe
    [root@system1 ~]# partprobe
    [root@system1 ~]# ls -ald /dev/sd*
    [root@system1 ~]# pvcreate /dev/sda3
    [root@system1 ~]# vgcreate rhce /dev/sda3
    [root@system1 ~]# lvcreate -l 100%VG -n iscsi_store rhce
    [root@system1 ~]# lvscan
    [root@system1 ~]# targetcli
    [root@system1 ~]# systemctl restart target
    [root@system1 ~]# systemctl enable target
    [root@system1 ~]# firewall-config
    
    image.png image.png image.png

    targetcli 配置命令如下

    /> ls
    /> cd /backstores/block
    /backstores/block> create disk0 /dev/rhce/iscsi_store
    /backstores/block> cd /iscsi 
    /iscsi> ls
    /iscsi> create iqn.2014-08.com.example.group8:system1
    /iscsi> ls
    /iscsi> cd iqn.2014-08.com.example.group8:system1/tpg1/acls 
    /iscsi/iqn.20...em1/tpg1/acls> create iqn.2014-08.com.example.group8:system2
    /iscsi/iqn.20...em1/tpg1/acls> cd ../luns 
    /iscsi/iqn.20...em1/tpg1/luns> create /backstores/block/disk0
    /iscsi/iqn.20...em1/tpg1/luns> cd ../portals/
    /iscsi/iqn.20.../tpg1/portals> create 172.24.8.11 3260
    /iscsi/iqn.20.../tpg1/portals> ls
    /iscsi/iqn.20.../tpg1/portals> delete 0.0.0.0 3260
    /iscsi/iqn.20.../tpg1/portals> create 172.24.8.11 3260
    /iscsi/iqn.20.../tpg1/portals> ls
    /iscsi/iqn.20.../tpg1/portals> exit
    
    image.png
    • 第二十题:配置 iSCISI 的客户端

    配置 system2 使其能连接在 system1 上提供的 iqn.2014-08.com.example.group8:system1,并符合以下要求:
    1.iSCISI 设备在系统启动的期间自动加载
    2.块设备 iSCISI 上包含一个大小为 2100 MiB 的分区,并格式化为 ext4
    3.此分区挂载在 /mnt/data 上,同时在系统启动的期间自动挂载

    参考解题步骤:

    system2

    [root@system2 Desktop]# yum -y install iscsi-*
    [root@system2 Desktop]# vim /etc/iscsi/initiatorname.iscsi 
    [root@system2 Desktop]# systemctl restart iscsi iscsid
    [root@system2 Desktop]# systemctl enable iscsi iscsid
    [root@system2 Desktop]# lsblk
    [root@system2 Desktop]# iscsiadm -m discovery -t st -p 172.24.8.11
    [root@system2 Desktop]# iscsiadm -m node -T iqn.2014-08.com.example.group8:system1 -l
    [root@system2 Desktop]# lsblk
    [root@system2 Desktop]# ls -ald /dev/sd*
    [root@system2 Desktop]# fdisk /dev/sdb
    [root@system2 Desktop]# ls -ald /dev/sd*
    [root@system2 Desktop]# mkfs   (连续按两次 type 键)
    [root@system2 Desktop]# mkfs.ext4 /dev/sdb1
    [root@system2 Desktop]# blkid /dev/sdb1
    [root@system2 Desktop]# ls -ald /mnt/data
    [root@system2 Desktop]# mkdir -p /mnt/data
    [root@system2 Desktop]# vim /etc/fstab 
    [root@system2 Desktop]# mount -a
    [root@system2 Desktop]# df -hT
    

    /etc/iscsi/initiatorname.iscsi 配置文件中的内容如下

    InitiatorName=iqn.2014-08.com.example.group8:system2
    

    /etc/fstab 挂载配置文件内容如下

    UUID="82e0d1be-f690-45e2-8dfc-7aa548df3fff" /mnt/data ext4 defaults,_netdev 0 0
    
    image.png image.png

    [图片上传失败...(image-8f8b2a-1568248841043)]


    • 第二十一题:配置一个数据库

    在 system1上创建一个 Maria DB 数据库,名为 Contacts,要求:
    1.数据库应该包含来自数据库复制的内容,复制文件的URL为 http://server.group8.example.com/pub/users.mdb ,数据库只能被 localhost 访问
    2.除了 root 用户,此数据库只能被用户 Mary 查询,此用户密码为 redhat
    3.root 用户的数据库密码为 redhat ,同时不允许空密码登录

    参考解题步骤:

    system1

    [root@system1 ~]# yum -y install mariadb mariadb-client mariadb-server
    [root@system1 ~]# wget http://server.group8.example.com/pub/users.mdb
    [root@system1 ~]# vim /etc/my.cnf
    [root@system1 ~]# systemctl restart mariadb 
    [root@system1 ~]# systemctl enable mariadb
    [root@system1 ~]# mysql_secure_installation      (交互界面全部选择 y )
    [root@system1 ~]# mysql -u root -p
    
     19 skip-networking=1    (请自行添加)
    
    image.png

    进入 MariaDB 数据库使用的命令如下

    MariaDB [(none)]> show databases;
    MariaDB [(none)]> create database Contacts;
    MariaDB [(none)]> use Contacts;
    MariaDB [Contacts]> source users.mdb;
    MariaDB [Contacts]> show tables;
    MariaDB [Contacts]> grant select on Contacts.* to Mary@'localhost' identified by 'redhat';
    MariaDB [Contacts]> exit
    

    • 第二十一题:数据库查询

    在 system1 上使用数据库 Contacts ,并使用相应的 SQL 查询以回答下列问题:
    1.密码是 fadora 的人的名字是什么?
    2.有多少人的姓名是 John ,同时居住在 Santa Clara ?

    直接贴出 sql 语句如下,仅供参考,考试时在这里的变数还是很大的,建议不要死记硬背。

    select n.firstname,n.lastname from u_name  as n left join u_passwd as p where n.userid = p.uid and p.password = 'fedora';
    
    select count(*) from u_name as n left join u_loc as l where n.userid = l.uid and n.firstname = 'John' and l.location = 'Santa Clara';
    

    相关文章

      网友评论

          本文标题:魔都上海静安考红帽rhce记录

          本文链接:https://www.haomeiwen.com/subject/exriyctx.html