赞
踩
!!考试的环境!!
考试环境没有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
使用前面查的值作为调优方案!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。