RHCSA

!!考试的环境!!

考试环境没有windows,是真机Linux

在考试的真机Linux系统里面,有若干台虚拟机,

所有题目都必须在虚拟机中完成!

考试的环境,不需要自己reset虚拟机,

进入考场虚拟机已经准备完成!

——————————————————————————

考试的流程:

1.考试前必须注册RHN账户(考试时需要填写)

怎么注册(参考QQ群共享:02_红帽RHN帐号注册流程.pdf)

2.考试时需要带笔、身份证!!!

3.入座后,屏幕是注册信息的屏幕(此时根据考官提示填写信息)

姓名(拼音)–上下午必须一致

RHN账户

保密协议

支持中英文(填写资料时,必须是英语界面)

4.所有信息填写完成,系统启动进入Linux!!!

5.自己找题目,自己找虚拟机!!!(倒计时开始)

++++++++++++++++++++++++++++++++++++++++++++++++

在虚拟机Red做的题目:

01. 配置网络地址

虚拟机 red 的管理口令为 redhat,

请为此虚拟机配置以下网络参数:

1)主机名:red.net0.example.com

2)IP 地址:172.25.0.25/24

3)默认网关:172.25.0.254

4)DNS 服务器:172.25.0.254

答:

# hostnamectl set-hostname red.net0.example.com # ip a s //查看网卡名称 # nmcli conn show //查看网络连接名称 # nmcli conn modify eth0 ipv4.method manual ipv4.address 172.25.0.25/24 ipv4.gateway 172.25.0.254 ipv4.dns 172.25.0.254 autoconnect yes //配置IP,网关,DNS,代表换行 # nmcli conn up eth0

+++++++++++++++++++++++++++++++

02. 配置默认软件仓库

YUM 软件仓库已可从以下地址使用:

http://server1.net0.example.com/rhel8/BaseOS

http://server1.net0.example.com/rhel8/AppStream

请配置你的虚拟机,以将这些位置作为默认软件源。

答:

# vim /etc/yum.repos.d/rhel8.repo //新建文件,内容如下 [BaseOS] name=baseos baseurl=http://server1.net0.example.com/rhel8/BaseOS gpgcheck=0 [Appstream] name=appstream baseurl=http://server1.net0.example.com/rhel8/AppStream gpgcheck=0 //enabled的默认值就是1,可以写,可不写!!! # dnf repolist -v //验证查看效果 # dnf -y install tar //安装软件测试

//RHEL8的环境,使用dnf替代yum

#所有子命令都和yum一致!

#如dnf install,dnf remove,dnf repolist,dnf list

++++++++++++++++++++++++++++++++

03. 调试 SELinux 配置

httpd 在 82 端口上提供 Web 服务,满足以下要求:

1)此 Web 服务器能够提供/var/www/html/中所有现有的 HTML 文件

2)此 Web 服务器在系统启动时自动启动

3)确保 SELinux 保护机制运行在 Enforcing 模式

答:

默认httpd监听80端口,SELinux会放行,允许你监听80端口!

但是现在HTTP被修改了端口82,

httpd想霸占82端口,但是SELinux会拦截,不允许你使用!

# getenforce //默认就是Enforcing # systemctl start httpd //会报错 # yum provides “semanage” //查看什么软件可以提供semanage命令 # dnf -y install policycoreutils-python-utils # semanage port -a -t http_port_t -p tcp 82 //使用semanage修改SELinux的策略,修改端口策略(port) //-a(add)添加,target对象,让httpd可以使用tcp协议的82端口 //protocol(协议) # systemctl enable httpd –now //不报错 //enable设置开机自启动,–now是立刻启动,等于start

方法二:

# dnf -y install setroubleshoot-server //安装软件才有拍错日志 # dnf -y install policycoreutils-python-utils # systemctl start httpd //故意出错 # journalctl -xe //查看日志,找答案 # semanage port -a -t http_port_t -p tcp 82

++++++++++++++++++++++++++++++++++++

04. 配置用户账户

创建用户 tammy,

其用户 ID 为 2020,

此用户的密码应当是 ilovelinux。

答:

# useradd -u 2020 tammy # echo ilovelinux | passwd –stdin tammy

#####可以去QQ群共享中下载rht-labcheck-82.tar.gz

#####通过远程工具拷贝到server1(vmware虚拟机)中

#####解压,里面有csa_rhel8和ce_rhel8,chmod给两个程序添加x权限

#####./csa_rhel8和./ce_rhel8

———————————————

如果在学校真机Linux环境,则直接真机执行csa_rhel8和ce_rhel8

++++++++++++++++++++++++++++++++++++++++++++++++++

05. 创建用户账户 根据下列要求创建用户及组账号:

1)名为 admins 的组

2)用户 zhsan,其附属组为 admins

3)用户 lisi,其附属组还属于 admins

4)用户 wangwu,没有可交互的登录 Shell,且不属于 admins 组

5)zhsan、lisi、wangwu 的密码都应该是 ilovelinux

答:

# groupadd admins //创建组 # useradd -G admins zhsan //创建用户,添加附加组 # useradd -G admins lisi //创建用户,添加附加组 # useradd -s /sbin/nologin wangwu //创建用户,-s指定解释器 # echo ilovelinux | passwd –stdin zhsan # echo ilovelinux | passwd –stdin lisi # echo ilovelinux | passwd –stdin wangwu

+++++++++++++++++++++++++++++++++++++++++++

06. 配置 cron 计划任务

配置计划任务,以用户 zhsan 的身份

每 5 分钟执行一次命令 logger “RH200 Test”。

答:

# crontab -e -u zhsan //-e(edit)编辑计划任务,-u(user)指定用户 */5 * * * * logger “RH200 Test”

++++++++++++++++++++++++++++++++++++++++++++++++++

07. 配置文件权限 ,将文件/etc/hosts 复制为/var/tmp/hosts,

并按要求配置/var/tmp/hosts 的权限:

1)文件/var/tmp/hosts 属于 root 用户

2)文件/var/tmp/hosts 属于 root 组

3)任何用户对/var/tmp/hosts 都没有可执行权限

4)用户 zhsan 能够读取和写入/var/tmp/hosts 文件

5)用户 lisi 无法读取或写入/var/tmp/hosts 文件

6)所有其他用户(当前或未来)能够读取/var/tmp/hosts 文件

答:

# cp /etc/hosts /var/tmp/hosts //复制文件 # chown root:root /var/tmp/hosts //修改文件所有者和所属组 或者(使用冒号或者点) # chown root.root /var/tmp/hosts //修改文件所有者和所属组 # chmod -x /var/tmp/hosts //设置所有人对该文件没有x权限 或者 # chmod a-x /var/tmp/hosts //设置所有人对该文件没有x权限 # setfacl -m u:zhsan:rw /var/tmp/hosts #-m(modify修改权限),u(user用户的权限),权限是rw # setfacl -m u:lisi:- /var/tmp/hosts #-m(modify修改权限),u(user用户的权限),权限是-(无任何权限) # getfacl /var/tmp/hosts //查看ACL # chmod o=r /var/tmp/hosts //设置o(other)其他人对文件只读

++++++++++++++++++++++++++++++++++++++++

08. 创建共用目录 创建具有以下特点的共用目录:

1)/home/tools 的组的所有权是 admins

2)此目录能被 admins 组的成员读取、写入和访问,除 root 外其他用户没有这些权限

3)在此目录下创建的文件,其组的所有权自动设置为 admins 组

答:

# mkdir /home/tools //创建目录 # chown :admins /home/tools //修改目录的所属组 # chmod 770 /home/tools/ //用户读,写,执行,组可读,写,执行,其他人没有权限 # chmod g+s /home/tools //设置SGID

09. 配置 NTP 时间客户端

配置你的系统,使其成为 server1.net0.example.com 的 NTP 客户端。

答:

# dnf -y install chrony //安装NTP软件 # vim /etc/chrony.conf //修改配置文件(在文件第一行写入如下内容) server server1.net0.example.com iburst //让本机和server1.net0.example.com同步时间 //本机是NTP客户端,server1.net0.example.com是NTP服务器,iburst代表尽快同步 # systemctl restart chronyd //启动服务 # systemctl enable chronyd //设置开机自启动 # chronyc sources -v //验证效果,出现^*就是已经同步时间

++++++++++++++++++++++++++++++++++++++++++++++++++++++

10. 配置 autofs 按照以下要求,通过 autofs 自动挂载远程用户的主目录:

1)server1.net0.example.com(172.25.0.254)通过 NFS 共享目录/rhome 到你的系统,此文 件系统中包含为用户 ldapuser0 预配置的主目录

2)预设用户 ldapuser0 的登录密码是 password

3)预设用户 ldapuser0 的主目录是 server1.net0.example.com:/rhome/ldapuser0

4)预设用户 ldapuser0 的主目录应自动挂载到本地的/rhome/ldapuser0 目录

5)挂载后的主目录可供用户 ldapuser0 写入

答:

正常如何需要挂载设备或者共享,需要手动mount或者写入fstab

mount /dev/vdb /mnt

mount 192.168.4.5:/share /media

上面的形式,不管你是否使用,计算机都在实时挂载!!!

autofs触发自动挂载,按需挂载(只有使用的时候才挂载【自动】)

解题:

把真机(172.25.0.254)的共享目录通过autofs自动挂载到red虚拟机的/rhome/ldapuser0

把server1.net0.example.com:/rhome/ldapuser0 自动挂载到red主机的/rhome/ldapuser0

# dnf -y install autofs nfs-utils //autofs是自动挂载,nfs-utils是NFS软件 # vim /etc/auto.master //修改autofs的主配置文件,在配置文件任意位置,添加如下内容 /rhome /etc/rhome.rule //把什么设备或共享目录,挂载到哪里去(挂载到本机的/rhome) //把什么设备或共享目录挂载,这里不告诉你,想知道看/etc/rhome.rule(该文件不存在)

# vim /etc/rhome.rule //在这个文件中写挂载谁 ldapuser0 -fstype=nfs 172.25.0.254:/rhome/ldapuser0

两个文件最终实现效果等于:

mount -t nfs 172.25.0.254:/rhome/ldapuser0 /rhome/ldapuser0

# systemctl start autofs # systemctl enable autofs

验证

[root@red ~]# cd /rhome/ldapuser0 -bash: cd: /rhome/ldapuser0: Permission denied [root@red ~]# su – ldapuser0 [ldapuser0@red ~]$ cd /rhome/ldapuser0/ [ldapuser0@red ldapuser0]$ ls [ldapuser0@red ldapuser0]$ exit logout

11. 查找文件

找出/etc/目录下大小超过 5MB 的文件,并将其副本放入/root/findfiles 目录。

答:

# mkdir /root/findfiles/ # find /etc/ -type f -size +5M -exec cp -p {} /root/findfiles ;

//查找文件, type根据类型查找,f代表file,size根据大小找文件

//-p代表保留权限

补充:

编写脚本(/root/abc.sh),脚本实现查找文件,拷贝文件

在/usr找,小于10M,找权限是sgid的文件,拷贝到/root/findfiles/

# vim /root/abc.sh //新建脚本文件,内容如下 #!/bin/bash //固定格式(可以没有) find /usr -size -10M -perm -g=s -exec cp -p {} /root/findfiles ; # chmod +x abc.sh //设置执行权限 # ./abc.sh //执行脚本

备注:find查找,-size根据大小查找,-perm根据权限查找,-g=s,是有sgid的意思

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

12. 查找字符串

找出文件/etc/man_db.conf 中包含字符串 sbin 的所有行,

将其副本按原始顺序存放到文件 /root/out.txt 中。

文件/root/out.txt 中不得包含空行,

且所有行必须是/etc/man_db.conf 中原始行的准确副本。

# grep sbin /etc/man_db.conf > /root/out.txt

13. 创建归档

创建一个名为/root/backup.tar.bz2 的 tar 归档,

其应该包含/usr/local/的内容。此归档 文件必须使用 bzip2 进行压缩。

# dnf -y install tar bzip2 # tar -cPjf /root/backup.tar.bz2 /usr/local

备注:-P保留权限

补充:

在red主机上有一个软件rhcsa(练习环境没有这个软件),

要求运行这个软件,屏幕显示xx

# which rhcsa //查看软件的位置

# vim rhcsa //修改这个文件(原始内容都删除),内容如下

echo xx

14题和15题需要用容器镜像(podman)

需要复习容器的命令

14. 配置容器服务

利用仓库服务器(注册表服务器)上面的 nginx 镜像,创建一个名为 logserver 的容器。

1)将其配置为以 systemd 服务的形式运行,仅面向用户 tammy

2)该服务应命名为 container-logserver,并将其设置为开机自动启动

考试说明:

容器仓库位于 http://registry.lab.example.com,账户 admin,密码 redhat321

答:

做题需要utility虚拟机,在virt-manger虚拟机管理器中如果有该虚拟机则直接使用,如果没有则rht-vmctl reset utility。

1.从仓库(utility)中下载镜像

# dnf -y module install container-tools # vim /etc/containers/registries.conf /[registries 搜索关键词,修改效果如下: [registries.search] registries = [‘registry.lab.example.com’] //到哪里去搜索镜像 [registries.insecure] registries = [‘registry.lab.example.com’] //到哪里去下载镜像

修改完成,保存退出

# exit 退出系统,重新登录,使用tammy登录

# ssh tammy@red (重新登录,不能su或者sudo)

$ podman login registry.lab.example.com //登录网址,输入账号和密码 Username: admin <题目给的用户吗> Password: <密码题目给的有,参考题目> Login Succeeded! //提示成功! $ podman search nginx <根据题目要求搜索镜像> $ podman pull registry.lab.example.com/library/nginx 下载镜像 $ podman images //查看镜像 $ mkdir /home/tammy/container_logserver //创建目录

//提前看15题要求

$ podman run –name logserver -d -v /home/tammy/container_logserver:/usr/share/nginx/html:Z nginx

//–name是容器的名称,考题有要求

//-d是启动容器,放入后台, 是强制换行

//-v是把宿主机目录挂载到容器里面的目录,-v宿主机路径:容器目录

//宿主目录是什么,容器目录是什么,考题(15题)有要求,照抄

//Z是SELinux,安全软件允许做这个挂载,允许读数据

//想启动容器,最重要的是需要有一个镜像,最后的nginx就是镜像名

做开机自启动

//如果使用root做开机自启动,则直接使用podman generate systemd命令,它会自动在/usr/lib/systemd/system/新建配置文件,实现开机自启动

//但是,考试的题目,要求使用tammy普通用户做实验

$ mkdir -p ~/.config/systemd/user

//创建目录,该目录是固定格式,固定名称,需要背!

$ cd ~/.config/systemd/user/ $ podman generate systemd –name logserver –files

//会自动在当前目录下,生成开机自启动的配置文件

$ systemctl –user daemon-reload

//重新加载配置文件

$ podman stop logserver //关闭容器 $ systemctl –user enable container-logserver.service –now

//以后都可以使用systemctl start,stop,restart,enable管理容器

//systemctl –user start container-logserver.service启动容器

//systemctl –user stop container-logserver.service关闭容器

//systemctl –user enable container-logserver.service设置开机自启动

如果不能开机自启动,可以做开机计划任务,手动启动服务

$ contab -e @reboot systemctl –user start container-logserver.service

$ exit 退出系统,做下一题,需要管理员root

15. 为容器配置持久存储

扩展上一个任务的 logserver 容器服务:

1)配置主机的系统日志,以在系统重启后能保留其数据

2)将主机中/var/log/journal/目录及任何子目录中包含的 *.journal 文件复制到目录

/home/tammy/container_logserver 下

3)将服务配置为启动时自动将主机中的/home/tammy/container_logserver 目录挂载到容器中的/usr/share/nginx/html/目录

//备注,做15题需要root管理员

# mkdir -p /var/log/journal //创建空目录 # systemd-tmpfiles –create –prefix /var/log/journal/

//–create是创建日志文件,–prefix指定把日志写哪里去

# systemctl restart systemd-journald # cp /var/log/journal/UUID随机/*.journal /home/tammy/container_logserver/

或者

# find /var/log/journal/ –name “*.journal” -exec cp {} /home/tammy/container_logserver ;

修改下权限,把拷贝的文件修改为tammy所有

# chown -R tammy:tammy /home/tammy/container_logserver

Blue虚拟机的题目(破解密码,有分区和格式化)

16. 设置 root 密码

获得系统 blue 的管理权限,并将 blue 的 root 密码设置为 redhat。

答:

重启blue虚拟机,启动到引导菜单按e键编辑

找Linux这一行,把该行ro修改为rw,在改行末尾手动添加rd.break

按ctrl+x启动系统

switch_root:/# chroot /sysroot/ //切换到系统根分区 sh-4.2# echo redhat | passwd –stdin root //修改密码 sh-4.2# touch /.autorelabel //重启计算机重新修改SELinux标签 sh-4.2# exit //退出根分区文件系统 switch_root:/# reboot //重启

17. 配置网络地址

为此虚拟机配置以下网络参数:

1)主机名:blue.net0.example.com

2)IP 地址:172.25.0.26/24

3)默认网关:172.25.0.254

4)DNS 服务器:172.25.0.254

答:

# hostnamectl set-hostname blue.net0.example.com # nmcli conn modify eth0 ipv4.method manual ipv4.addr 172.25.0.26/24 ipv4.dns 172.25.0.254 ipv4.gateway 172.25.0.254 autoconnect yes # nmcli conn up eth0

18. 配置默认软件仓库

YUM 软件仓库已可从以下地址使用:

http://server1.net0.example.com/rhel8/BaseOS

http://server1.net0.example.com/rhel8/AppStream

请配置你的虚拟机,以将这些位置作为默认软件源。

答:

方法一:参考red主机的YUM,重新vim创建YUM配置文件

方法二: scp 172.25.0.25:/etc/yum.repos.d/rhel8.repo /etc/yum.repos.d/

注意:其中rhel8.repo是red主机的YUM配置文件名,不能照抄!

注意:方法二要求,red和blue网络可以正常通讯!

测试:#dnf -y install tar

19. 调整逻辑卷大小

将逻辑卷 vo 及其文件系统大小调整到 300MiB。确保文件系统内容保持不变。

备注:容量误差允许上下20M

答:

# lvs //查看现有的逻辑卷 # vgs //查看现有的卷组 # lvextend -L 300M /dev/test/vo //对逻辑卷扩容 # lvs //验证:查看扩容结果 # df -Th //查看文件系统格式(xfs,ext…) 如果是XFS,则执行如下命令: # xfs_growfs /dev/test/vo 如果是ext2/3/4文件系统,则执行如下命令: # resize2fs /dev/test/vo # df //验证:查看容量是否正确

20. 添加交换分区

为你的系统额外添加一个512MiB的交换分区,

此交换分区应在系统启动时自动挂载,

不要删除或以任何方式改动系统上原有的交换分区。

答:

# lsblk //查看现有分区情况 # fdisk /dev/vdb Command (m for help): n //新建分区 Select (default p): p //新建主分区 Partition number (2-4, default 2): 回车 //编号为2的分区 First sector (1026048-20971519, default 1026048):回车 Last sector, +sectors or +size{K,M,G,T,P} (1026048-20971519, default 20971519): +512M //分区大小512M Command (m for help): w //保存退出 # mkswap /dev/vdb2 //格式化为swap分区 # vim /etc/fstab //实现开机自动挂载,不要修改原有内容,添加即可 /dev/vdb2 swap swap defaults 0 0 # swapon -a //激活交换分区 # swapon -s //验证:查看效果

21. 创建逻辑卷

根据以下要求,创建新的逻辑卷:

1)逻辑卷的名字为 mylv,属于 myvg 卷组,大小为50个扩展单元(PE)

2)卷组myvg中的逻辑卷的扩展块大小应当为16MiB

3)使用vfat文件系统将逻辑卷mylv格式化

4)此逻辑卷应当在系统启动时自动挂载到/mnt/mydata目录下

答:

# lsblk //查看现有分区

备注:题目需要800M的逻辑卷,那么分区只要够800M,多少都可以

# fdisk /dev/vdb //参考20题,创建1G的主分区 # lsblk //查看分区 # vgcreate -s 16M myvg /dev/vdb3

//使用/dev/vdb3做VG,VG的名字是myvg,VG的PE大小(扩展单元)是16M

# lvcreate -l 50 -n mylv myvg

//注意:-l是小写字母L,-L指定容量,-l指定PE个数

//使用myvg这个卷组,创建一个名称为mylv的逻辑卷

# yum provides “mkfs.vfat” //查看安装什么软件,可以提供mkfs.vfat命令 # mkfs.vfat /dev/myvg/mylv //格式化 # mkdir /mnt/mydata //创建挂载点 # vim /etc/fstab … /dev/myvg/mylv /mnt/mydata vfat defaults 0 0 # mount -a //挂载 # reboot //重启,验证是否可以正常启动

22.创建VDO卷

根据如下要求,创建新的 VDO 卷:

1)使用未分区的磁盘(/dev/vdc)

2)此 VDO 卷的名称为 myvdo

3)此 VDO 卷的逻辑大小为 50G

4)此 VDO 卷使用 xfs 文件系统格式化

5)此 VDO 卷在系统启动时自动挂载到/vblock 目录下

答:VDO卷类似于LVM卷:删除重复数据、硬盘是10G(可以做50G VDO)

# yum -y install vdo //安装软件 # systemctl enable vdo –now //设置开机自启动,并立刻启动 # vdo create -h //查看帮助 # vdo create -n myvdo –device=/dev/vdc –vdoLogicalSize=50G //-n指定vdo的名称,–device指定使用什么硬盘做vdo //–vdoLogicalSize指定vdo的大小容量 # mkdir /vblock # mkfs.xfs -K /dev/mapper/myvdo //格式化,-K是快速格式化 # vim /etc/fstab … /dev/mapper/myvdo /vblock xfs defaults,_netdev 0 0 # mount -a # reboot

23. 配置系统调优

为你的系统选择建议的 tuned 配置集并将它设为默认设置。

//备注:系统调优,就是修改系统的配置,让系统运行的速度更快

//调优:可以调整CPU,内存,硬盘,网络。。。

//系统调优很难,很繁琐,很多细节。

红帽为了解决调优难的问题:提前在系统里面,设置了一堆的调优方案

红帽提供了很多方案,我们需要做的就是使用这个方案

比如:

方案一(偏性能):该方案里面,红帽提前把所有需要调整的参数都写好了

方案二(偏省电):该方案里面,红帽提前把所有参数都写好了

# dnf -y install tuned

# systemctl enable tuned –now

# tuned-adm list //查看红帽提前做好的方案

Current active profile: virtual-guest

# tuned-adm profile throughput-performance

使用名称为throughput-performance的调优方案

# tuned-adm recommend //查看推荐值

# tuned-adm profile virtual-guest

使用前面查的值作为调优方案!

文章知识点与官方知识档案匹配,可进一步学习相关知识云原生入门技能树首页概览8578 人正在系统学习中

来源:小魏的小刘

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年8月17日
下一篇 2022年8月17日

相关推荐