RHCSA 7 答题参考(上午) 考试环境说明 —— 真实机(无 root 权限):foundation.domainX.example.com 虚拟机(有 root 权限):station.domainX.example.com 考试服务器(提供 DNS/YUM/认证/素材.. ..): rhgls.domainX.example.com、host.domainX.example.com 练习环境说明 —— 真实机(无 root 权限):foundationX.example.com 虚拟机(有 root 权限):serverX.example.com 练习服务器(提供 DNS/YUM/认证/素材.. ..):http://classroom.example.com ################################################################################ 开考准备: 为了能够继续考试,您必须首先完成下述任务。 将系统的 root 账号密码设置为 redhat 。 配置您的虚拟机系统使用下述静态网络配置:  Hostname:serverX.example.com  IP address:172.25.X.11  Netmask:255.255.255.0  Gateway:172.25.X.254  Name server:172.25.254.254 您必须完成对网络的修改,这样才能访问其余的考题,一旦您完成了上述修改,点击下面的 URL 地址:http://rhgls.domainX.example.com/cgi-bin/portal.cgi 如果您已经成功完成了初始的题目,您将被重定向到考试的其余部分。 00a、重设 root 密码 1)重启虚拟机 server,出现 GRUB 启动菜单时按 e 键进入编辑状态 2)找到 linux16 所在行,末尾添加 rd.break console=tty0,按 Ctrl+x 键进恢复模式 3)以可写方式挂载硬盘中的根目录,并重设 root 密码: switch_root:/# switch_root:/# sh-4.2# passwd sh-4.2# touch sh-4.2# exit switch_root:/# mount -o remount,rw /sysroot chroot /sysroot/ root /.autorelabel //以可读写方式重新挂载根系统 //切换到根系统 //设置考试指定的密码 //标记下一次启动重做 SELinux 标签 reboot 00b、配置主机名、IP 地址/掩码/默认网关/DNS 地址 [root@serverX ~]# hostnamectl set-hostname serverX.example.com [root@serverX ~]# nmcli connection modify "System eth0" ipv4.method manual ipv4.addresses "172.25.X.11/24 172.25.X.254" ipv4.dns 172.25.254.254 [root@serverX ~]# nmcli connection modify "System eth0" connection.autoconnect yes //需要时允许自动连接 [root@serverX ~]# nmcli connection up "System eth0" 1 / 9 ################################################################################

  1. 为您的系统指定一个默认的软件仓库 试题概述: YUM 的软件库源为 http://rhgls.domainX.example.com/pub/x86_64/Server.将此配置为 您的系统的默认软件仓库。 解题参考: [root@serverX ~]# yum-config-manager --add http://content.example.com/rhel7.0/x86_64/dvd [root@serverX ~]# vim /etc/yum.repos.d/content.example.com_rhel7.0_x86_64_dvd.repo .. .. gpgcheck=0 //不检查软件签名 [root@serverX ~]# yum repolist //确认配置结果
  2. 调整逻辑卷的大小 试题概述: 将逻辑卷 vo 和其文件系统大小调整到 300 MiB。要确保文件系统中的内容保持完整。请 注意:分区大小很少能够完全符合要求的大小,所以大小在 270 MiB 和 330 MiB 之间都是 可以接受的。 解题参考: [练习环境:参考文末的步骤先处理 /dev/vdb ] [注:此题建议与第 12、15 题综合考虑;如果逻辑卷 vo 所在卷组有足够空间,只要执行最后两步] [root@serverX ~]# fdisk -l /dev/vdb | grep 'label' Disk label type: dos [root@serverX ~]# fdisk /dev/vdb .. .. Command (m for help): n Partition type: p primary (3 primary, 0 extended, 1 free) e extended Select (default e): e Selected partition 4 First sector (6555648-20971519, default 6555648): Last sector, +sectors or +size{K,M,G} .. ..): //确认现分区表模式 //新建 //扩展分区 //起始位置默认 //结束位置默认 Command (m for help): n First sector (6557696-20971519, default 6557696): Last sector, +sectors or +size{K,M,G} .. ..): +500M Partition 5 of type Linux and of size 500 MiB is set //新建 //起始位置默认 //结束位置 +500MiB(卷扩容) Command (m for help): n First sector (7583744-20971519, default 7583744): Last sector, +sectors or +size{K,M,G} .. ..): +2000M Partition 6 of type Linux and of size 2 GiB is set //新建 //起始位置默认 //结束位置 +2000MiB(自定卷组) 2 / 9

Command (m for help): n First sector (11681792-20971519, default 11681792): Last sector, +sectors or +size{K,M,G} .. ..): +512M Partition 7 of type Linux and of size 512 MiB is set Command (m for help): p Device Boot Start .. .. /dev/vdb4 6555648 /dev/vdb5 6557696 /dev/vdb6 7583744 /dev/vdb7 11681792 End Blocks 20971519 7581695 11679743 12730367 7207936 512000 2048000 524288 //新建 //起始位置默认 //结束位置 +512MiB(交换分区) Id System 5 8e 8e 82 Extended Linux LVM Linux LVM Linux swap / Solaris Command (m for help): w [root@serverX ~]# partprobe /dev/vdb [root@serverX ~]# reboot //保存分区更改 //刷新分区表 //强烈建议重启一次!! root@serverX ~]# lvscan ACTIVE '/dev/systemvg/vo' [196.00 MiB] inherit //检查原有的逻辑卷 [root@serverX ~]# vgextend systemvg /dev/vdb5 [root@serverX ~]# lvextend -L 300MiB /dev/systemvg/vo [root@serverX ~]# resize2fs /dev/systemvg/vo //扩展卷组 //扩展逻辑卷 //更新逻辑卷大小 3. 创建用户帐户 试题概述: 创建下列用户、组以及和组的成员关系:  一个名为 adminuser 的组  一个名为 natasha 的用户,其属于 adminuser,这个组是该用户的从属组  一个名为 harry 的用户,属于 adminuser,这个组是该用户的从属组  一个名为 sarah 的用户,其在系统中没有可交互的 shell,并且不是 adminuser 组的 成员用户  natasha、harry、和 sarah 的密码都要设置为 flectrag 解题参考: [root@serverX ~]# groupadd [root@serverX ~]# useradd [root@serverX ~]# useradd [root@serverX ~]# useradd adminuser -G adminuser natasha -G adminuser harry -s /sbin/nologin sarah [root@serverX ~]# echo flectrag | passwd --stdin natasha [root@serverX ~]# echo flectrag | passwd --stdin harry [root@serverX ~]# echo flectrag | passwd --stdin sarah 4. 配置文件 /var/tmp/fstab 的权限 3 / 9

试题概述: 拷贝文件/etc/fstab 到/var/tmp/fstab,配置文件/var/tmp/fstab 的权限:  文件/var/tmp/fstab 的拥有者是 root 用户  文件/var/tmp/fstab 属于 root 组  文件/var/tmp/fstab 对任何人都不可执行  用户 natasha 能够对文件/var/tmp/fstab 执行读和写操作  用户 harry 对文件/var/tmp/fstab 既不能读,也不能写  所有其他用户(当前的和将来的)能够对文件/var/tmp/fstab 进行读操作 解题参考: [root@serverX ~]# cp /etc/fstab /var/tmp/fstab [root@serverX ~]# setfacl -m u:natasha:rw /var/tmp/fstab [root@serverX ~]# setfacl -m u:harry:- /var/tmp/fstab 5. 配置一个 cron 任务 试题概述: 为用户 natasha 配置一个定时任务,每天在本地时间 14:23 时执行以下命令: /bin/echo hiya 解题参考: [root@serverX ~]# systemctl restart crond [root@serverX ~]# systemctl enable crond [root@serverX ~]# crontab -e -u natasha 23 14 * * * /bin/echo hiya 6. 创建一个共享目录 试题概述: 创建一个共享目录/home/admins ,特性如下:  /home/admins 目录的组所有权是 adminuser  adminuser 组的成员对目录有读写和执行的权限。除此之外的其他所有用户没有任何 权限(root 用户能够访问系统中的所有文件和目录)  在/home/admins 目录中创建的文件,其组所有权会自动设置为属于 adminuser 组 [注]此处所谓的共享目录并不是指网络共享,只是某个组成员共用 解题参考: [root@serverX ~]# mkdir /home/admins [root@serverX ~]# chown :adminuser /home/admins [root@serverX ~]# chmod 2770 /home/admins 7. 安装内核的升级 试题概述: 4 / 9

新版本内核文件可以从 http://rhgls.domainX.example.com/pub/updates/获取。 升级你的系统的内核版本,同时要满足下列要求:  当系统重新启动之后升级的内核要作为默认的内核  原来的内核要被保留,并且仍然可以正常启动 解题参考: [root@serverX ~]# firefox http://classroom/content/rhel7.0/x86_64/errata/Packages/ //根据所给地址找到内核文件,复制其下载地址 [root@serverX ~]# wget http://classroom/content/rhel7.0/x86_64/errata/Packages/kernel- 3.10.0-123.1.2.el7.x86_64.rpm [root@serverX ~]# rpm -ivh kernel-3.10*.rpm [root@serverX ~]# reboot .. .. [root@serverX ~]# uname -r 3.10.0-123.1.2.el7.x86_64 //重启以使新内核生效 //确认新内核版本 8. 绑定到外部验证服务 试题概述: 系统 host.domainX.example.com 提供了一个 LDAP 验证服务。您的系统需要按照以下 要求绑定到这个服务上:  验证服务器的基本 DN 是:dc=domainX,dc=example,dc=com  帐户信息和验证信息都是由 LDAP 提供的  连接要使用证书进行加密,证书可以在下面的链接中下载 : ftp://host.domainX.example.com/pub/domainX.crt  当正确完成配置后,用户 ldapuserX 应该能够登录到您的系统中,但是没有主目录。 当您完成 autofs 的题目之后,才能生成主目录  用户 ldapuserX 的密码是 password 解题参考: [root@serverX ~]# yum -y install [root@serverX ~]# authconfig-tui sssd //使用简易配置工具 根据提示完成用户和认证方式设置 —— User Information:[] Use LDAP Authentication Method:[] Use LDAP Authentication 根据提示选中 [*] Use TLS,并设置下列参数 —— Server:classroom.example.com Base DN:dc=example,dc=com 提示下载证书到 /etc/openldap/cacerts 目录时,另开一终端执行: [root@serverX ~]# cd /etc/openldap/cacerts/ [root@serverX ~]# wget http://classroom/pub/example-ca.crt .. .. 然后回到 authconfig-tui 工具确认,稍等片刻即可。 5 / 9

[root@serverX ~]# systemctl restart sssd [root@serverX ~]# systemctl enable sssd [root@serverX ~]# id ldapuserX //验证 LDAP 用户 uid=17X(ldapuserX) gid=17X(ldapuserX) groups=17X(ldapuserX) 9. autofs 的配置 试题概述: 按照下述要求配置 autofs 用来自动挂载 LDAP 用户的主目录:  host.domainX.example.com(172.24.10.250)通过 NFS 输出 /rhome 目录到您的系 统,这个文件系统包含了用户 ldapuserX 的主目录,并且已经预先配置好了  ldapuserX 用户的主目录是 host.domainX.example.com:/rhome/ldapuserX  ldapuserX 的主目录应该挂载到本地的/rhome/ldapuserX 目录下  用户对其主目录必须是可写的  ldapuserX 用户的密码是 password 解题参考: [root@serverX ~]# yum -y install autofs [root@serverX ~]# mkdir /home/guests [root@serverX ~]# vim /etc/auto.master /home/guests /etc/guests.rule //指定监控点 [root@serverX ~]# vim /etc/guests.rule //配置挂载策略 ldapuserX -rw classroom.example.com:/home/guests/ldapuserX //若有版本 3 要求,则添加 v3 参数 [root@serverX ~]# systemctl start autofs [root@serverX ~]# systemctl enable autofs [root@serverX ~]# su - ldapuserX /home/guests/ldapuserX -c 'pwd' //验证结果 10. 配置 NTP 网络时间客户端 试题概述: 配置您的系统,让其作为一个 rhgls.domainX.example.com 的 NTP 客户端 解题参考: [root@serverX ~]# yum -y install chrony [root@serverX ~]# vim /etc/chrony.conf #server 0.rhel.pool.ntp.org iburst #server 1.rhel.pool.ntp.org iburst #server 2.rhel.pool.ntp.org iburst #server 3.rhel.pool.ntp.org iburst server classroom.example.com iburst .. .. //注释掉默认的 server 配置, //添加新的配置 6 / 9

[root@serverX ~]# systemctl restart chronyd [root@serverX ~]# systemctl enable chronyd [root@serverX ~]# timedatectl set-ntp [root@serverX ~]# timedatectl .. .. NTP enabled: yes true //查看状态 //NTP 是否已经启用 11. 配置一个用户帐户 试题概述: 创建一个名为 alex 的用户,用户 ID 是 3456。密码是 flectrag 解题参考: [root@serverX ~]# useradd -u 3456 alex [root@serverX ~]# echo flectrag | passwd --stdin alex 12. 添加一个 swap 分区 试题概述: 在您的系统中添加一个大小为 512 MiB 的 swap 分区:  当您的系统启动时,swap 分区应该可以自动挂载  不要移除或者修改其他已经存在于您的系统中的 swap 分区 解题参考: [root@serverX ~]# [root@serverX ~]# /dev/vdb7 swap [root@serverX ~]# [root@serverX ~]# mkswap /dev/vdb7 vim /etc/fstab swap defaults swapon -a swapon -s //分区准备参见第 2 题 00 //查看交换分区启用情况 13. 查找文件 试题概述: 找出所有用户 student 拥有的文件,并且把它们拷贝到/root/findfiles 目录中 解题参考: [root@serverX ~]# mkdir /root/findfiles [root@serverX ~]# find / -user student -type f -exec cp -p {} /root/findfiles/ ; 14. 查找一个字符串 试题概述: 在文件/usr/share/dict/words 中查找到所有包含字符串 seismic 的行: 7 / 9

 将找出的行按照原文的先后顺序拷贝到/root/wordlist 文件中  /root/wordlist 文 件 不 要 包 含 空 行 , 并 且 其 中 的 所 有 行 的 内 容 都 必 须 是 /usr/share/dict/words 文件中原始行的准确副本 解题参考: [root@serverX ~]# grep 'seismic' /usr/share/dict/words > /root/wordlist 15. 创建一个逻辑卷 试题概述: 根据下面的要求创建一个新的逻辑卷:  逻辑卷命名为 database,属于 datastore 卷组,并且逻辑卷的大小为 50 个物理扩展 单元 (physical extent)  在 datastore 卷组中的逻辑卷,物理扩展单元 (physical extent) 大小应为 16 MiB  使用 ext3 文件系统对新的逻辑卷进行格式化,此逻辑卷应该在系统启动的时候自动 挂载在 /mnt/database 目录下 解题参考: [root@serverX ~]# vgcreate -s 16MiB datastore /dev/vdb6 [root@serverX ~]# lvcreate -l 50 -n database datastore [root@serverX ~]# mkfs.ext3 /dev/datastore/database //分区准备参见第 2 题 [root@serverX ~]# mkdir /mnt/database [root@serverX ~]# vim /etc/fstab /dev/datastore/database /mnt/database ext3 defaults 0 0 [root@serverX ~]# mount -a 16. 创建一个归档 试题概述: 创建一个名为 /root/backup.tar.bz2 的归档文件,其中包含 /usr/local 目录中的内 容,tar 归档必须使用 bzip2 进行压缩 解题参考: [root@serverX ~]# tar jcPf /root/backup.tar.bz2 /usr/local/ ################################################################################ 附录 1:分区及逻辑卷准备(练习) [root@serverX ~]# fdisk /dev/vdb Command (m for help): n Partition type: p primary (0 primary, 0 extended, 4 free) //新建 8 / 9

e extended Select (default p): p //主分区 Partition number (1-4, default 1): 1 //分区编号 1 First sector (2048-20971519, default 2048): //起始位置默认 Last sector, +sectors or +size{K,M,G} (2048-20971519, default 20971519): +200M //结束位置+200MiB Partition 1 of type Linux and of size 200 MiB is set Command (m for help): n //新建 Select (default p): p //主分区 Partition number (2-4, default 2): 2 //分区编号 2 First sector .. ..: //起始位置默认 Last sector, .. ..: +2000M //结束位置+2000MiB Partition 2 of type Linux and of size 2 GiB is set Command (m for help): n //新建 Select (default p): p //主分区 Partition number (3,4, default 3): 3 //分区编号 3 First sector .. ..: //起始位置默认 Last sector, .. ..: +1000M //结束位置+1000MiB Partition 3 of type Linux and of size 1000 MiB is set Command (m for help): t //设置分区标识 Partition number (1-3, default 3): 1 //第 1 个分区 Hex code (type L to list all codes): 8e //标记为 LVM 类别 Changed type of partition 'Linux' to 'Linux LVM' Command (m for help): p Device Boot Start /dev/vdb1 2048 /dev/vdb2 411648 /dev/vdb3 4507648 End 411647 4507647 6555647 Blocks 204800 2048000 1024000 Id 8e 83 83 //确认分区结果 System Linux LVM Linux Linux Command (m for help): w //保存分区结果 [root@serverX ~]# partprobe /dev/vdb //刷新分区表 [root@serverX ~]# vgcreate systemvg /dev/vdb1 Physical volume "/dev/vdb1" successfully created Volume group "systemvg" successfully created //创建卷组 [root@serverX ~]# lvcreate -n vo -L 196M systemvg //创建逻辑卷 Logical volume "vo" created [root@serverX ~]# lvscan //确认结果 ACTIVE '/dev/systemvg/vo' [196.00 MiB] inherit [root@serverX ~]# mkfs.ext3 /dev/systemvg/vo [root@serverX ~]# mkdir /vo [root@serverX ~]# mount /dev/systemvg/vo /vo/ [root@serverX ~]# df -h /vo/ Filesystem Size Used Avail Use% Mounted on /dev/mapper/systemvg-vo 186M 1.6M 171M 1% /vo //格式化 //创建挂载点 //挂载逻辑卷 //确认文件系统用量 9 / 9