RHCE考试笔记

作者: 嘉加家佳七 | 来源:发表于2018-06-27 11:10 被阅读0次

    RHCE考试在下午,也就是考完CSA之后。题目多是环境配置,难度还是有一些的,很多配置需要记住。但是在实际运维过程中,这tm是不现实的,都必须经过各种方案论证,最后拿着定稿的配置文档去操作。

    0、预先配置两台机子的yum

    system1和system2都配置并导入秘钥。后续需要安装很多包

    方法与csa考试一致,记得验证是否正确

    1、设定selinux为enforcing,重启后依然生效

    两台机子getenforce 看看目前状态,如果已经是开启的,那么就不用修改了

    如果不是,vim /etc/sysconfig/selinux

    SELINUX=enforcing (修改成 enforcing) 记得小写

    保存退出

    2、配置防火墙

    两台机子均需要配置

    首先设置开机启动防火墙:systemctrl enable firewalld

    设置策略:例如允许xxxx.server.com 域的客户对system1、2进行ssh访问

    禁止yyyyy.server.com域的客户对system1、2ssh访问 yyyyy.server.com在172.13.8.0/24网络

    firewall-cmd --permanent --add-service=ssh

    firewall-cmd --permanent --add-rich-rule 'rule family="ipv4" source address=172.13.8.0/24 service name="ssh" reject'

    firewall-cmd --reload

    firewall-cmd --list-all 查看一下

    3、自定义用户环境

    就是创建一个自定义命令

    vim /etc/bashrc最后一行添加

    alias qstst='/bin/ps -Ao pid,tt,user,fname,rsz'

    保存退出 

    bash

    which qstat 查看一下

    4、配置端口转发

    在172.24.8.0/24网络中的系统,访问system1中的2345端口将被转发至80端口。设置永久生效

    还是在防火墙中配置

    firewall-cmd  --permanent --add-rich-rule 'rule family="ipv4" source address="172.24.8.0/24" forward port port="2345" protocol="tcp" to-port="80"'

    firewall-cmd --reload

    5、配置链路聚合

     要求system1&ststem2均配置一个team0,并相互ping通

    ip a 可以看到每台机子上都有eth1 \eth2两张网卡

    我们需要新建一个team类型 命名为team0 

    配置为json类型 

    config'{"runner":{"name":"activebackup"}}'

    全部配置仅需5行命令,是不是so easy

    nmcli connection add con‐name team0 type team ifname team0 config'{"runner":{"name":"activebackup"}}'

    nmcli connection modify team0 ipv4.addresses "172.16.3.40/24" connection.autoconnect yes ipv4.method manual (第二台需要换对应的ip)

    nmcli con add type team-slave con-name team-slave1 ifname eth1 master team0

    nmcli con add type team-slave con-name team-slave2 ifname eth2 master team0

    nmcli con reload

    nmcli con up team0

    检查一下是否能 双向ping ……

    如配错,需删除team0 team-slave1 teamslave2 

    nmcli con delete xxxxx

    nmcli con reload

    6、配置ipv6地址

    两台服务器均需要配置

    配制方法与IPv4一样,把IPv4.address改为ipv6.address 即可

    nmcli con modify eth0 ipv6.address "2003:ac18::30a/64" connect.autoconnect yes ipv6.method m

    nmcli con reload

    nmcli con down eht0 && nmcli con up eth0

    ping6 2003:ac18::30a

    7、配置本地邮件服务

    配置文件地址:/etc/postfix/main.cf

    写在最后面即可,默认只读最后的配置

    请分别在 system1 和 system2 上执行:

    [root@system1 ~]# postconf ‐e inet_interfaces=loopback‐only      不接受外部邮件

    [root@system1 ~]# postconf ‐e mydestindation=             空着就行

    [root@system1 ~]# postconf ‐e local_transport=error:err            错误提示:

    [root@system1 ~]# postconf ‐e relayhost=[mail.group8.example.com]         转发至xxx服务器

    [root@system1 ~]# postconf ‐e myorigin=server.group8.example.com         邮件伪装,发件时显示邮件来自于xxxx,题目会提供

    [root@system1 ~]# systemctl enable postfix

    [root@system1 ~]# systemctl restart postfix

    8、smb共享目录

    要求在一台机子上配置smb服务,

    指定了所在的工作组为STAFF

    共享目录/common 名称common 可浏览

    只有group8.example.com域的客户端可访问

    用户Andy可读取共享内容,密码redhat

    首先遵循原则,第一步安装

    yum install -y samb samb-client

    第二步配置

    vim /etc/samba/smb.conf

    找到 workgroup 改为

    workgroup = STAFF

    切换到最后一行

    添加

    [common]

        path = /common

        hosts allow = 172.24.8.

        browsebale = yes

    保存退出

    mkdir /common

    开启服务添加开机启动 

    systemctl enable /start smb nmb

    第三步,设置防火墙、selinux上下文

    firewall-cmd --permanent --add-service=samba

    firewall-cmd --reload

    semanage fontext -a -t samba_share_t '/common(/.*)?'

    restorecon ‐Rv /common/

    第四步创建用户测试

    由于用户已经存在,所以直接

    smbpasswd -a Andy 

    xxxxx

    xxxxx

    重启smb nmb

    在第二台机子上安装

    yum install -y samba-client

    然后验证服务是否可以访问

    smbclient ‐L //172.24.8.11/ ‐U Andy

    smbclient  //172.24.8.11/ common  ‐U Andy

    完成

    9、配置多用户Samba挂载

    system1通过SMB共享目录/devops

    目录名 devops 只能被group8.example.com域中的客户端使用

    该目录必须能被浏览,用户silene可以读写,用户akira可以读写

    此目录永久挂载system2 /mnt/dev目录,用户silene 认证任何用户,可以通过akira来临时获取写的权限

    解题思路:

    1、添加smb.conf配置

    [devops]     共享名称

    path =/devops    共享路径

    hosts allow = 172.24.8.    允许的域

    writebale = no   对用户不可写

    write list = akira  该用户可写

    browseable = yes 能被浏览

    2、创建目录、设置selinux上下文、对用户akira 的acl权限

    mkdir /devops

    semanage fcontext -a -t  samba_share_t  '/devops(/.*)?'    设置上下文

    restorecon -Rv /devops     刷新上下文权限

    setfacl -m  u:akira:rwx /devops/       设置akira用户对目录的权限

    3、创建用户

    smbpasswd -a akira

    smbpasswd -a silene

    重启smb nmb 服务

    4、system2 安装cifs-utils

    yum install -y cifs-utils

    mkdir  /mnt/dev 创建挂载目录

    查看共享:smbclient  -L //172.24.8.11/   -U silene

    5、添加持久挂载

    vim /etc/fstab

    //172.24.8.11/  /mnt/dev     cifs    defaults,multiuser,username=silene,password=redhat,sec=ntlmssp 0 0

    mount -a

    df -h

    测试:完成

    10、配置nfs服务

    在 system1 配置NFS服务,要求如下:

    以只读的方式共享目录 /public ,同时只能被 group8.example.com 域中的系统访问

    以读写的方式共享目录 /protected ,同时只能被 group8.example.com 域中的系统访问

    访问 /protected 需要通过Kerberos安全加密,您可以使用下面URL提供的密钥

        http://server.group8.example.com/pub/keytabs/system1.keytab

    目录 /protected 应该包含名为 project 拥有人为 andres 的子目录

    用户 andres 能以读写方式访问 /protected/project

    1、检查  nfs-utils    包是否安装。 rpm -qa | grep nfs-utils

    2、设置服务开机启动  systemctrl enable nfs-server nfs-secure-server   由于用到krb5认证,所以secure服务也要启动

    3、设置防火墙规则 

    永久添加nfs 、rpc-bind、mountd 3项服务

    4、设置目录及selinux上下文

    mkdir /public

    mkdir /protected/project

    semanage -fcontext -a -t  'public_content_t' '/protected(/.*)?'

    semanage -fcontext -a -t  'public_content_rw_t' '/protected/project(/.*)?'

    restorecon -Rv /protected/

    5、下载证书保存并命名 为 /etc/krb5.keytab

    wget -O  /etc/krb5.keytab http://server.group8.example.com/pub/keytabs/system1.keytab

    6、编辑 nfs 资源导出配置文件

    vim /etc/exports

    /public *.group8.example.com(ro,sec=sys,sync) /protected *.group8.example.com(rw,sec=krb5p,sync)

    7、修改 nfs 启动参数,并重启服务[root@system1 ~]# vim /etc/sysconfig/nfs....

    RPCNFSDARGS="‐V 4.2"

    [root@system1 ~]# systemctl

    restart

    nfs‐server.service

    nfs‐secure‐server.service

    8、刷新并验证导出资源[root@system1 ~]# exportfs ‐ra[root@system1 ~]# exportfs

    /public *.group8.example.com /protected *.group8.example.com

    11、挂载NFS共享

    在 system2 上挂载一个来自 system1.group8.example.com 的NFS共享,并符合下列要求:

    /public 挂载在下面的目录上 /mnt/nfsmount

    /protected挂载在下面的目录上 /mnt/nfssecure 并使用安全的方式,密钥下载URL如下:

        http://server.group8.example.com/pub/keytabs/system2.keytab

    用户 andres 能够在 /mnt/nfssecure/project 上创建文件

    这些文件系统在系统启动时自动挂载

    1、新建目录:mkdir /mnt/nfsmount  /mnt/nfssecure

    2、下载秘钥:wget -O /etc/krb5.keytab5  http://server.group8.example.com/pub/keytabs/system2.keytab

    3、添加持久化挂载

    vim /etc/fsatb

    system1:/public  /mnt/nfsmount  nfs defaults,sec=sys  0  0

    system2:/protected /mnt/nfscecure nfs defaults,sec=krb5p,v 4.2 0 0

    保存退出

    4、重启nfs-secure服务

    systemctel restart nfs-secure.service

    systemctrl enable nfs-secure.service

    5、检查

    mount -a 

    df -h 

    如挂载失败,可能是时间服务器不同步导致

    12、实现web服务器

    13、配置web安全服务

    14、配置虚拟主机

    15、配置web内容的访问

    16、实现动态web内容

    这4道题可以一起来做,首先来看需要安装的包有哪些

    (1)安装软件包

    yum install -y httpd mod_ssl   mod_wsgi

    (2)创建网站目录,有题目可知,需要创建3个网站目录

    第一个默认Documentroot目录   /var/www/html/    不用创建 

    第二个  virtual 目录          /var/www/virtual/              虚拟主机的目录

    第三个  访问内容控制  需要在Documentroot 目录下创建 /private  

    /var/www/html/private

    /var/www/virtual/private  

    (3)网页文件从服务器下载至对应网站目录

    wget -O /var/www/html/index.html   http://server.group8.example.com/pub/system1.html

    wget -O /var/www/virtual/index.html

    http://server.group8.example.com/pub/www8.html

    wget -O /var/www/html/private/index.html http://server.group8.example.com/pub/private.html

    wgte -O /var/www/virtual/private/index.html  http://server.group8.example.com/pub/private.html

    wget ‐O /var/www/html/webinfo.wsgi   http://server.group8.example.com/pub/webinfo.wsgi

    (4)编辑配置文件

    <virtualhost *:80>

            servername 网址

            documentroot "/var/www/html"

            <directory "/var/www/html">

                        <requireall>

                                    reauire all granted

                                    require not host 域名

                        </requireall>

            </directory>

    SSL engineer on #这部分的配置可参考同目录下的ssl.conf

    </virtualhost>

    基本这种格式,按要求详细改一下

    (5)防火墙添加端口、selinux上下文

    firewall-cmd --permanent --add-service=http

    firewall-cmd --permanent --add-service=https

    firewall-cmd --permanent --add-rich-rule 'rule famliy="ipv4" port port = 8909 protocol=tcp accept'

    。。。。。太麻烦了,自己写吧

    需要写入权限的目目录,要加selinux上下文、设置acl权限

    (6)下载证书(下载位置需要与配置文件中的一致)

    (7)重启http服务,然后验证即可

    17、创建按要求输出脚本

    vim /root/foo.sh

    #!/bin/bash

    case $1 in

    redhat)

    echo"fedroa"

    ;;

    fedroa)

    echo"redhat"

    ;;

    *)

    echo "/root/foo.sh redhat|fedora"

    esac

    chmod 755 /root/foo.sh

    18、批量添加用户脚本

    #!/bin/bash

    if [$# - eq 1];then

                if [-f "$1"];then    

                        while read username ;do

            useradd -s /bin/false $username &>/dev/null

            done < $1

                else echo "input file not found"

                exit

        fi

    else

        echo "usage:/root/bashusers userfile"

        exit

    fi

    19、配置iscsi服务端

    配置 system1 提供一个 ISCSI 服务 磁盘名为 iqn.2014-08.com.example.group8:system1 ,并符合下列要求:

     服务端口为 3260

     使用 iscsi_store 作其后端逻辑卷名称,其大小为 3G

     此服务只能被 system2.group8.example.com 访问

    1、首先安装targetcli ,设置开机启动并启动该服务

    2、添加防火墙规则

    firewall-cmd --per --add-rich-rule 'rule family="ipv4" source address="172.24.8.12/32" port port=3260 protoclo=tcp accept'

    firewall-cmd --reload

    3、创dev建逻辑卷作为后端存储

    fdisk -/dev/vda

    n --> p--回车--回车--+3G--t--回车--8e--w

    partbrobe

    pvcreate /dev/vda3

    vgcreate iscsi_vg /dev/vda3

    lvcreate -n iscsi_store -l 100%VG iscsi_vg

    4、配置iscsi

    targetcli

    backstores/block    create    name=iscsi_store    dev=/dev/iscsi_vg/iscsi_store     //定义一个本地的块设备

    cd   iscsi

    create  iqn.2014-08.com.example.group8:system1    //定义一个iscsi(名称由题目提供)

    cd iqn.2014-08.com.example.group8:system1/tpg1  

    luns/    create    /backstores/block/iscsi_store      把定义好的块设备通过target共享出去

    acls/ create iqn.2014-08.com.example.group8:system2    创建基于iqn的acl:允许改名字的客户端访问本iscsi的target

    portals/ create 172.24.8.11 3260    定义target的入口

    set attribute authintication =0    该tgp关闭账号验证

    set attribute generate_node_acls =0 该tgp使用自定义的acl实现节点访问限制

    save config

    exit

    20 、配置iscsi客户端

    1、yum install -y iscsi-intiator-utils 

    2、配置iSCSI客户端名称

    vim /etc/iscsi/initiatorname.iscsi

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

    3、设置服务开机启动、启动服务

    systemctrl enable iscsid

    systemctrl start iscsid

    4、发现target

    iSCSIadm -m discovery -t st -p 172.24.8.11

    172.24.8.11:3260  iqn.2014-08.com.example.group8:system1

    5、登陆target

    iSCSIadm -m node -l

    lsblk

    6、分区并格式化

    fdisk /dev/sdb

    n--p---回车--回车---+2100M---w

    pareprobe

    mkfs.ext4 /dev/sdb1

    7、配置开机自动挂载

    mkdir /mnt/date

    blkid /dev/sdb1

    vim /etc/fstab

    uuid    /mnt/date ext4 defaults,_netdev 0 0

    mount -a 

    df -h

    21、配置数据库

    在 system1上创建一个 Maria DB 数据库,名为 Contacts,要求:

    数据库应该包含来自数据库复制的内容,复制文件的URL为 http://server.group8.example.com/pub/users.mdb ,数据库只能被 localhost 访问

    除了 root 用户,此数据库只能被用户 Mary 查询,此用户密码为 redhat

    root 用户的数据库密码为 redhat ,同时不允许空密码登录

    解题:

    1、首先安装MariaDB:yum install -y Mariadb*

    2、添加开机启动、启动数据库

    systemctrl enable mariadb

    systemctrl start mariadb

    3、设置数据库 安全配置向导

    mysql_secure_installation   

    第一项默认没有root密码,直接回车

    设置密码

    Set root password? [Y/n] y

    New password: redhat

    Re‐enter new password: redhat

    Remove anonymous users? [Y/n] y 剩余的其他步骤都是直接回车

    4、导入数据、建立用户并授权

    先下载users.mdb :wget -O http://server.group8.example.com/pub/users.mdb

    登录数据库:mysql -u root -predhat

    创建Contacts库:create database Contacts;

    使用库:use Contacts;

    导入表:source /root/users.mdb;

    授权:grant select on Contacts.* to Mary@localhost identified by 'redhat';

    退出

    22、数据查询

    最后一个题考数据库联表查询

    首先进入题目中要求的数据库,use Contacts;

    先看看表名称,表结构,找相同数据

    1、查找密码为xxxxx的人名字是什么?

    select u_name.firstname from u_name,u_passwd where u_mane.userid = u_passwd.uid and u_passwd.password = 'xxxxx';

    2、查找姓xxxxx的,还住在xxxx的人有几个?

    select count(*) from u_name,u_loc where u_name.userid=u_loc.uid and u_loc.location ='xxxxx' and u_name.firstname = 'xxxxx' ;

    如果太长记不住,可以分开查,

    select * from u_name where firstname = 'xxxxx';

    select * from u_loc where location = 'xxxxx';

    然后自己数uid相同的有几个。(此方法不适合大量数据,仅供考试投机)

    相关文章

      网友评论

        本文标题:RHCE考试笔记

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