zoukankan      html  css  js  c++  java
  • RHCE试题解析

    环境准备

    yum-config-manager --add-repo=ADDREPO
    vim /etc/yum.conf
    gpgcheck=0(1=on,0=off)
    

      增加指定repo源,关闭签名合法性检查。

    试题及答案

    一、配置SELINUX

    试题概述:
      确保两个虚拟机的 SELinux 处于强制启用模式。

    vim /etc/selinux/config
    SELINUX=enforcing
    setenforce 1 (usage:  setenforce [ Enforcing | Permissive | 1 | 0 ])
    

    二、配置SSH访问

    试题概述:
    按以下要求配置 SSH 访问:

    • 用户能够从域内example.com的客户端SSH远程访问您的两个虚拟机系统;
    • 在域my133t.org内的客户端不能访问您的两个虚拟机系统。
    vim /etc/ssh/sshd_config
    DenyUsers *@*.my133t.org *@172.25.0.*
    

      也可以使用防火墙规则进行限制,后面会提到。

    三、自定义用户环境(别名设置)

    试题概述:
      在系统system1 和 system2上创建自定义命令为 qstat,此自定义命令将执行以下命令: /bin/ps -Ao pid,tt,user,fname,rsz;
      此命令对系统中所有用户有效。

    vim /etc/profile
    qstat='/bin/ps -Ao pid,tt,user,fname,rsz'
    source /etc/profile
    

    四、配置防火墙端口转发

    试题概述:
      在系统 system1 配置端口转发,要求如下:

    • 在 172.25.0.0/24 网络中的客户机,访问 server0 的本地端口 5423 将被转发到 80
    • 此设置必须永久有效。
    firewall-cmd --set-default-zone=trusted (将默认区域设置为默认模式)
    firewall-cmd --permanent --add-source=172.25.0.0/24 --zone=block (防火墙拒绝my133t.org访问)
    firewall-cmd --add-rich-rule='rule family=ipv4 source address=172.24.0.0/24 forward-port port=5423 protocol=tcp to-port=80'
    firewall-cmd --add-rich-rule='rule family=ipv4 source address=172.24.0.0/24 forward-port port=5423 protocol=udp to-port=80'
    

    五、配置链路聚合

    试题概述:
      在system1.example.com 和 system2.example.com 之间配置一个链路 team0:  此链路使用接口 eth1和eth2:

    • 此链路在一个接口失效时仍然能工作;
    • 此链路在system1使用下面的地址172.24.4.30/255.255.255.0;
    • 此链路在system2使用下面的地址172.24.4.40/255.255.255.0;
    • 此链路在系统重启之后依然保持正常状态。
    nmcli connection add type team con-name team0 ifname team0 connection.autoconnect yes config '{"runner":{"name":"activebackup"}}'
    nmcli connection add type team-slave con-name eth1 ifname eth1 connection.autoconnect yes master team0
    nmcli connection add type team-slave con-name eth2 ifname eth2 connection.autoconnect yes master team0
    nmcli connection modify team0 ipv4.method manual ipv4.address "172.24.4.30/24" connection.autoconnect yes  
    nmcli connection up team0
    teamdctl team0 state 
    

      接口启动后测试本机到新增IP是否可以正常通信,如果不通可以重启网络服务后再次测试systemctl restart network

    六、配置IPv6地址

    试题概述:
      在您的考试系统上配置接口 eth0 使用下列 IPv6 地址:

    • system1上的地址应该是 2003:ac18::305/64:
    • system2上的地址应该是 2003:ac18::306/64;
    • 两个系统必须能与网络 2003:ac18/64 内的系统通信 ;
    • 地址必须在重启后依旧生效;
    • 两个系统必须保持当前的 IPv4 地址并能通信。
    nmcli connection modify eth0 ipv6.method manual ipv6.address "2003:ac18::305/64"
    nmcli connection up eth0
    

      如果不能ping通同上所述。

    七、配置本地邮件服务器

    试题概述:
      在系统system1上配置邮件服务,满足以下要求:

    • 这些系统不接收外部发送来的邮件;
    • 在这些系统上本地发送的任何邮件都会自动路由到smtp0.example.com;
    • 从这些系统上发送的邮件显示来自于system1.example.com;
        您可以通过在system1上发送邮件到本地用户 student 来测试您的配置,系统system2.example.com 上的用户 student 将会收到这封邮件。
    :配置文件修改
    vim /etc/postfix/main.cf
    relayhost = smtp0.example.com  //自动路由配置
    inet_interfaces = loopback-only  //监听在回环网卡
    myorigin = system1.example.com //邮件显示
    mynetworks = 127.0.0.0/8 [::1]/28
    local_transport = error:local
    
    :启动服务
    systemctl restart postfix 
    systemctl enalbe postfix 
    
    :测试
    echo 'test' | mail -s 'Test1' student
    

      如果防火墙默认域非trusted需要开启smtp服务访问权限。

    八、通过SMB发布共享目录

    试题概述:
      在system1上通过 SMB 共享/common 目录:

    • 您的 SMB 服务器必须是 STAFF 工作组的一个成员;
    • 共享名必须为 common;
    • 只有 example.com 域内的客户端可以访问 common 共享;
    • common 必须是可以浏览的;
    • 用户 harry 必须能够读取共享中的内容,如果需要的话,验证的密码是 migwhisk。
    :安装及基本设置
    yum -y install samba
    mkdir /common
    setsebool -P samba_export_all_rw=on
    smbpasswd -a harry
    
    :修改配置文件
    vim /etc/samba/smb.conf
    [global]
        workgroup = STAFF
    [common]
           path = /common
           hosts allow = 172.24.0.0/24
           browseable = yes
    
    :重启并设置开机自启
    systemctl restart smb nmb 
    systemctl enable smb nmb 
    

    九、配置多用户Samba挂载

    试题概述:
      在system1通过 SMB 共享目录/devops,并满足以下要求:

    • 共享名为 devops;
    • 共享目录 devops 只能被 example.com 域中的客户端使用;
    • 共享目录 devops 必须可以被浏览;
    • 用户 kenji 必须能以读的方式访问此共享,该问密码是 atenorth;
    • 用户 chihiro 必须能以读写的方式访问此共享,访问密码是 atenorth;
    • 此共享永久挂载在 system2.example.com 上的/mnt/dev 目录,并使用用户 kenji 作为认证,任何用户可以通过用户 chihiro 来临时获取写的权限。
    :基本准备
    mkdir /devops
    smbpasswd -a kenji
    smbpasswd -a chihiro 
    setfacl -m u:chihiro:rwx /devops
    
    :修改配置文件
    vim /etc/samba/smb.conf
    [devops]
        path = /devops
        hosts allow = 172.24.0.0/24
        write list = chihiro
    
    :重启服务
    systemctl restart smb nmb 
    
    :system2操作
    :准备基本环境
    yum -y install samba-client cifs-utils 
    smbclient -L system1.example.com -U chihiro
    mkdir /mnt/dev
    
    :修改配置文件
    vim /etc/fstab
    //system1.example.com/devops /mnt/dev cifs defaults,multiuser,username=kenji,password=atenorth,sec=ntlmssp,_netdev 0 0 
    
    :挂载配置
    mount -a 
    
    :验证临时权限
    su - other
    cifscreds add -u chihiro system1.example.com 
    touch /mnt/dev/1.txt
    

    十、配置NFS共享服务

    试题概述:
      在system1配置 NFS 服务,要求如下:

    • 以只读的方式共享目录/public,同时只能被 example.com 域中的系统访问;
    • 以读写的方式共享目录/protected,能被 example.com 域中的系统访问;
    • 访问/protected 需要通过 Kerberos 安全加密,您可以使用下面 URL 提供的密钥:http://classroom.example.com/pub/keytabs/system1.keytab;
    • 目录/protected 应该包含名为 project 拥有人为 ldapuser0 的子目录;
    • 用户 ldapuser0 能以读写方式访问/protected/project。
    :环境准备
    mkdir -p /public /protected/project 
    chown ldapuser0 /protected/project
    wget -O /etc/krb5.keytab http://classroom/pub/keytabs/system1.keytab
    
    :修改配置
    vim /etc/exports 
    /public 172.24.4.0/24(ro)
    /protected 172.24.4.0/24(rw,sec=krb5p)
    
    :启动服务并设置为开机自启
    systemctl start nfs-secure-server nfs-server
    systemctl enable nfs-secure-server nfs-server
    

    十一、挂载NFS共享

    试题概述:
      在system2上挂载一个来自 system1.exmaple.com 的共享,并符合下列要求:

    • /public 挂载在下面的目录上/mnt/nfsmount;
    • /protected挂载在下面的目录上/mnt/nfssecure 并使用安全的方式,密钥下载 URL:http://classroom.example.com/pub/keytabs/system2.keytab;
    • 用户 ldapuser0 能够在/mnt/nfssecure/project 上创建文件;
    • 这些文件系统在系统启动时自动挂载。
    :环境准备
    mkdir -p /mnt/nfsmount /mnt/nfssecure
    wget -O /etc/krb5.keytab http://classroom/pub/keytabs/system1.keytab
    systemctl start nfs-secure 
    systemctl enable nfs-secure
    showmount -e system1.example.com
    
    :修改配置文件
    vim /etc/fstab
    system1.example.com:/public /mnt/nfsmount nfs _netdev 0 0 
    system1.example.com:/protected /mnt/nfssecure nfs sec=krb5p,_netdev 0 0
    
    :挂载
    mount -a
    

    十二、实现一个web服务器

    试题概述:
      为 http://system1.example.com 配置 Web 服务器:

    • http://classroom.example.com/pub/materials/station.html 下载一个主页文件,并将该文件重命名为 index.html;
    • 将文件 index.html 拷贝到您的 web 服务器的 DocumentRoot 目录下;
    • 不要对文件 index.html 的内容进行任何修改;
    • 来自于 example.com 域的客户端可以访问此 Web 服务;
    • 来自于 my133t.org 域的客户端拒绝访问此 Web 服务。
    :安装Apache服务
    yum -y install httpd 
    :修改配置文件
    vim /etc/httpd/conf.d/rhce.conf
    <VirtualHost *:80>
        ServerName system1.example.com
        DocumentRoot /var/www/html
    </VirtualHost>
    :下载网页文件
    wget -O /var/www/html/index.html http://classroom.example.com/pub/materials/station.html
    :重启Apache服务并设置为开机自启
    systemctl restart httpd 
    systemctl enable httpd 
    

    十三、配置安全web服务

    试题概述:
      为站点 http://server0.example.com 配置 TLS 加密:

    • 已签名证书从http://classroom.example.com/pub/tls/certs/system1.crt 获取 ;
    • 证书的密钥从http://classroom.example.com/pub/tls/private/system1.key获取;
    • 证书的签名授权信息从http://classroom.example.com/pub/example-ca.crt获取。
    :安装所需认证模块
    yum -y install mod_ssl 
    
    :下载所需文件
    cd /etc/pki/tls/certs/ 
    wget http://classroom.example.com/pub/example-ca.crt
    http://classroom.example.com/pub/tls/certs/system1.crt
    cd etc/pki/tls/private/
    wget http://classroom.example.com/pub/tls/private/system1.key
    
    :修改配置文件
    vim /etc/httpd/conf.d/ssl.conf
    <VirtualHost _default_:443>
        DocumentRoot /var/www/html
        ServerName system1.example.com:443
        SSLCertificateFile          /etc/pki/tls/certs/system1.crt
        SSLCertificateKeyFile       /etc/pki/tls/private/system1.key
        SSLCACertificateFile        /etc/pki/tls/certs/example-ca.crt
    </VirtualHost>
    
    :重启Apache服务
    systemclt restart httpd 
    

    十四、配置虚拟主机

    试题概述:
      在system1上扩展您的 web 服务器,为站点 http://www0.example.com创建一个虚拟主机,然后执行下述步骤:

    • 设置 DocumentRoot 为/var/www/virtual;
    • http://classroom.example.com/pub/materials/www.html 下载文件并重命名为index.html;
    • 不要对文件 index.html 的内容做任何修改;
    • 将文件 index.html 放到虚拟主机的 DocumentRoot 目录下;
    • 确保 student 用户能够在/var/www/virtual 目录下创建文件;
    :环境准备
    mkdir /var/www/virtual
    setfacl -m u:student:rwx /var/www/virtual
    wget -O /var/www/virtual/index.html  http://classroom.example.com/pub/materials/www.html 
    
    :修改配置文件
    vim /etc/httpd/conf.d/rhce.conf
    <VirtualHost *:80>
        ServerName www0.example.com
        DocumentRoot /var/www/virtual
    </VirtualHost>
    
    :重启Apache服务
    systemctl restart httpd
    

    十五、配置web内容访问

    试题概述:
      在您的system1上的 web 服务器的 DocumentRoot 目录下创建一个名为private 的目录,要求如下:

    • http://classroom.example.com/pub/materails/private.html 下载一个文件副本到这个目录,并且得命名为 index.html;
    • 不要对这个文件的内容做任何修改;
    • 从 server0 上,任何人都可以浏览 private 的内容,但是从其他系统不能访问这个目录的内容。
    :环境准备
    mkdir /var/www/html/private
    wget -O /var/www/html/private/index.html http://classroom.example.com/pub/materails/private.html 
    
    :修改配置
    vim /etc/httpd/conf.d/rhce.conf
    <Directory /var/www/html/private>
        Require ip 127.0.0.1 
    </Directory>
    

    十六、实现动态web访问

    试题概述:
      在system1上配置提供动态 Web 内容,要求如下:

    :安装所需模块
    yum -y install mod_wsgi 
    
    :准备环境
    cd /var/www/html
    wget http://classroom.example.com/pub/materials/webinfo.wsgi 
    semanage port -a -t http_port_t -p tcp 8909
    
    :修改配置
    vim /etc/httpd/conf.d/rhce.conf
    Listen 8909
    <VirtualHost *:8909>
        ServerName webapp0.example.com:8909
        DocumentRoot /var/www/html
        WSGIScriptAlias / /var/www/html/webinfo.wsgi
    </VirtualHost>
    
    :重启Apache服务
    systemctl restart httpd
    

    十七、创建一个脚本

    试题概述:
      在 system1上创建一个名为/root/foo.sh 的脚本,让其提供下列特性:

    • 当运行/root/foo.sh redhat,输出为 fedora;
    • 当运行/root/foo.sh fedora,输出为 redhat;
    • 当没有任何参数或者参数不是 redhat 或者 fedora 时,其错误输出产生以下的信息:/root/foo.sh redhat|fedora。
    vim /root/foo.sh
    #!/bin/bash
    if [ "$1" = "redhat" ] ; then
        echo "fedora"
    elif [ "$1" = "fedora" ] ; then
        echo "redhat"
    else
        echo "/root/foo.sh redhat|fedora" 
    fi
    
    chmod +x /root/foo.sh
    

    十八、创建一个添加用户的脚本

    试题概述:
      在 system1上创建一个脚本,名为/root/batchusers,此脚本能实现为系统system1创建本地用户,并且这些用户的用户名来自一个包含用户名的文件,同时满足下列要求:

    • 此脚本要求提供一个参数,此参数就是包含用户名列表的文件;
    • 如果没有提供参数,此脚本应该给出下面的提示信息 Usage: /root/batchusers 然后退出并返回相应的值;
    • 如果提供一个不存在的文件名,此脚本应该给出下面的提示信息 Input file not found 然后退出并返回相应的值;
    • 创建的用户登陆 Shell 为/bin/false,此脚本不需要为用户设置密码;
    • 您可以从下面的 URL 获取用户名列表作为测试用:http://classroom.example.com/pub/materials/userlist。
    vim /root/batchusers
    #!/bin/bash
    if [ $# -eq 0 ] ; then
    echo "Usage: /root/batchusers <userfile>"
    exit 1 
    fi
    if [ ! -f $1 ] ; then
    echo "Input file not found" 
    exit 2
    fi
    for name in $(cat $1)
    do
    useradd -s /bin/false $name
    done
    
    chmod +x /root/batchusers
    

    十九、配置iSCSI服务端

    试题概述:
      配置 server0 提供 iSCSI服务,磁盘名为 iqn.2016-02.com.example:system1,并符合下列要求:

    • 服务端口为 3260;
    • 使用iscsi_store作其后端卷,其大小为 3GiB 访问;
    • 此服务只能被system2.example.com访问。
    :准备磁盘空间
    fdisk /dev/vda
    Command (m for help): n
    Partition number (1-128, default 1): First sector (34-20971486, default 2048):
    Last sector, +sectors or +size{K,M,G,T,P} (2048-20971486, default 20971486): +3G 
    Command (m for help): w 
    
    partprobe /dev/vda
    
    :安装并配置iSCSI
    yum -y install targetcli
    targetcli
    /> backstores/block create block1  /dev/vda1
    /> /iscsi create iqn.2016-02.com.example:system1
    /> /iscsi/iqn.2016-02.com.example:system1/tpg1/acls create iqn.2016-02.com.example:system2
    /> /iscsi/iqn.2016-02.com.example:system1/tpg1/luns create /backstores/block/block1
    /> /iscsi/iqn.2016-02.com.example:system1/tpg1/portals create 172.24.4.30 3260
    /> saveconfig
    /> exit
    
    :重启并设置开机自启
    systemctl restart target 
    systemctl enable target 
    

    二十、配置iSCSI客户端

    试题概述:
      配置system2使其能连接 system1上提供的 iqn.2016-02.com.example:system1,并符合以下要求:

    • iSCSI 设备在系统启动的期间自动加载;
    • 块设备 iSCSI 上包含一个大小为 2100MiB 的分区,并格式化为 ext4 文件系统  此分区挂载在/mnt/data 上,同时在系统启动的期间自动挂载。
    :安装iSCSI客户端
    yum -y install iscsi-initiator-utils 
    
    :修改iSCSI本机iqn名称
    vim /etc/iscsi/initiatorname.iscsi
    InitiatorName=iqn.2016-02.com.example:system2
    
    :重启服务
    systemctl restart iscsid
    systemctl enalbe iscsid 
    
    
    :查找、连接磁盘
     iscsiadm -m discovery -t st -p system1
     iscsiadm -m node -L all
    
     :分区设置
     lsblk (查看新磁盘)
     fdisk /dev/sda 
     Command (m for help): n
    Partition number (1-128, default 1): First sector (34-20971486, default 2048):
    Last sector, +sectors or +size{K,M,G,T,P} (2048-20971486, default 20971486): +2100M  
    Command (m for help): w 
    
    partprobe /dev/sda
    mkfs.ext4 /dev/sda1 
    
    :挂载设置
    mkdir /mnt/data
    
    vim /etc/fstab
    /dev/sda1 /mnt/data ext4 defaults,_netdev 0 0 
    mount - a
    

    二十一、配置一个数据库

    试题概述:
      在system1上创建一个 MariaDB 数据库,名为 Contacts,并符合以下条件:  数据库应该包含来自数据库复制的内容,复制文件的 URL 为:http://classroom.example.com/pub/materials/users.sql:

    • 数据库只能被 localhost 访问;
    • 除了 root 用户,此数据库只能被用户 Raikon 查询,此用户密码为 atenorth  root 用户的密码为 atenorth,同时不允许空密码登陆。
    :安装、配置、启动MariaDB
    yum -y install mariadb mariadb-server
    vim /etc/my.cnf
    [mysqld]
    skip-networking
    
    systemctl restart mariadb 
    systemctl enable mariadb 
    
    :数据库基本操作
    wget http://classroom.example.com/pub/materials/users.sql
    mysqladmin -u root password 'atenorth'
    mysql -u root -patenorth
    
    CREATE DATABASE Contacts;
    USE Contacts;
    SOURCE /root/users.sql
    GRANT select ON Contacts.* to Raikon@localhost IDENTIFIED BY 'atenorth';
    DELETE FROM mysql.user WHERE Password='';
    

    二十二、数据库查询

    试题概述:
      在系统 system1上使用数据库 Contacts,并使用相应的 SQL 查询以回答下列问题:

    • 密码是 solicitous 的人的名字?
    • 有多少人的姓名是 Barbara 同时居住在 Sunnyvale?
    SELECT name FROM base WHERE password='solicitous';
    SELECT count(*) FROM base,location WHERE base.name='Barbara' AND location.city='Sunnyvale' AND base.id=location.id ;
    
  • 相关阅读:
    Webdriver启动Firefox浏览器后,页面显示空白
    Windows+Python+Selenium基础篇之1-环境搭建
    office2010无法卸载问题
    .NET使用FastDBF读写DBF
    并发编程相关概念
    C#的多线程简洁笔记
    asp.net core 3.1 入口:Program.cs中的Main函数
    【WPF学习】第四十四章 图画
    .NET知识梳理——1.泛型Generic
    C#个推SDK推送安卓+iOS
  • 原文地址:https://www.cnblogs.com/Cherry-Linux/p/11067938.html
Copyright © 2011-2022 走看看