RHCSA-8.2

node1

1.配置网络设置

2.配置您的系统以使用默认存储库

题目要求:

YUM 存储库已可以从
http://foundation0.ilt.example.com/dvd/BaseOS 
和 
http://foundation0.ilt.example.com/dvd/AppStream
使用配置您的系统,以将这些位置用作默认存储库

 解题:

vim /etc/yum.repos.d/rhsca.repo                    //rhsca.repo为自己起的

编辑:
[BaseOS]
name=BaseOS
baseurl=http://foundation0.ilt.example.com/dvd/BaseOS
gpgcheck=0
enabled=1
[AppStream]
name=AppStream
baseurl=http://foundation0.ilt.example.com/dvd/AppStream
gpgcheck=0
enabled=1

验证结果:

[root@clear ~]# yum makecache 
BaseOS                                           11 MB/s | 2.2 MB     00:00    
AppStream                                        35 MB/s | 5.8 MB     00:00    
Last metadata expiration check: 0:00:01 ago on Tue 24 Oct 2023 03:01:26 AM EDT.
Metadata cache created.

3.调试 SELinux

题目要求:

非标准端口 82 上运行的 Web 服务器在提供内容时遇到问题。
根据需要调试并解决问题,使其满足以下条件:
系统上的 Web 服务器能够提供 /var/www/html 中所有现有的 HTML 文件(注:不要删除或以其他方式改动现有的文件内容)
Web 服务器在端口 82 上提供此内容
Web 服务器在系统启动时自动启动

解题:

cd /var/www/html
ls -Z                                                       //查看哪个文件有问题

//              system_u:object_r:default_t:s0 file1        //可知这个有问题
//    system_u:object_r:httpd_sys_content_t:s0 file2
//    system_u:object_r:httpd_sys_content_t:s0 file3

chcon -t httpd_sys_content_t /var/www/html/file1            //修改文件
semanage port -l | grep http                                //查看http放行了82端口不
                    
//    http_cache_port_t         tcp      8080, 8118, 8123, 10001-10010
//    http_cache_port_t         udp      313    0
//    http_port_t               tcp      80, 81, 443, 488, 8008, 8009, 8443, 9000  //可知没
//    pegasus_http_port_t       tcp      5988
//    pegasus_https_port_t      tcp      5989

semanage port -a -t http_port_t -p tcp 82                    //放行82
firewall-cmd --add-port=82/tcp --permanent                   //防火墙放行82
systemctl restart httpd                                      //重启httpd
systemctl enable httpd                                       //开启httpd

验证结果:

[root@clear ~]# ls -Z /var/www/html/                        
system_u:object_r:httpd_sys_content_t:s0 file1
system_u:object_r:httpd_sys_content_t:s0 file2
system_u:object_r:httpd_sys_content_t:s0 file3

[root@clear ~]# semanage port -l | grep http
http_cache_port_t              tcp      8080, 8118, 8123, 10001-10010
http_cache_port_t              udp      3130
http_port_t                    tcp      82, 80, 81, 443, 488, 8008, 8009, 8443, 9000
pegasus_http_port_t            tcp      5988
pegasus_https_port_t           tcp      5989

4.创建用户帐户

题目要求:

创建下列用户、组和组成员资格:
    名为 sysmgrs 的组
    用户 natasha ,作为次要组从属于 sysmgrs
    用户 harry ,作为次要组还从属于 sysmgrs
    用户 sarah ,无权访问系统上的交互式 shell 且不是 sysmgrs 的成员
    natasha 、 harry 和 sarah 的密码应当都是 flectrag

解题:

groupadd sysmgrs                    //创组
useradd -G sysmgrs natasha          //创用户并加入组
useradd -G sysmgrs  harry   
useradd -s /sbin/nologin sarah      //用户sarah
passwd natasha                      //密码
passwd harry
passwd sarah
     

验证结果:

[root@clear ~]# grep sysmgrs /etc/group
sysmgrs:x:1005:natasha,harry

[root@clear ~]# grep "natasha\|harry\|sarah" /etc/shadow
natasha:$6$Kc11eJ.6zYx3wozM$zkiacgmg4sXIQinYXUMv15torGATL6m1n2mqVHzym4NwcL5q6DZmC2Q1JnacSSw5Vyohl8m9BJTx7o2PDURcR.:19654:0:99999:7:::
harry:$6$Fz.d7yCaXur8tbyC$soZ/1IWTvawLJFMDHeVVuvRVHjzt9xnsHC9fykVSwpFvoUDamsvj2AkkZ9go1H.V9/GvzipZFkL63BykCZvwq0:19654:0:99999:7:::
sarah:$6$rzZlzEJBYupehXqF$9/otbzlEdhHZxNSUAYPS00RNTUrrtR/4Piu.L7NFy1iL3SQ8xwgNdE5k.eb9hOicdLn5zC110DejU.RHQ9Zj7/:19654:0:99999:7:::

[root@clear ~]# grep "natasha\|harry\|sarah" /etc/passwd
natasha:x:1005:1006::/home/natasha:/bin/bash
harry:x:1006:1007::/home/harry:/bin/bash
sarah:x:1007:1008::/home/sarah:/sbin/nologin
[root@clear ~]# grep sysmgrs /etc/group
sysmgrs:x:1005:natasha,harry

5.配置 cron 作业

题目要求:

配置 cron 作业,该作业每隔 2 分钟运行并执行以下命令:
logger "EX200 in progress",以用户 natasha 身份运行

配置 cron 作业,
以用户 harry 身份每天14:23分执行 /usr/bin/echo hello

解题:

crontab -eu natasha
    添加    */2 * * * * logger "EX200 in progress"

crontab -eu harry
    添加    23 14 * * * /usr/bin/echo hello

验证结果:

[root@clear ~]# crontab -eu natasha
no crontab for natasha - using an empty one
crontab: no changes made to crontab

[root@clear ~]# crontab -eu harry
no crontab for harry - using an empty one
crontab: installing new crontab

6.创建协作目录

题目要求:

创建具有以下特征的协作目录 /home/managers :
/home/managers 的组用权是 sysmgrs
目录应当可被 sysmgrs 的成员读取、写入和访问,但任何其他用户不具这些权限。(当然,root 用户有权访问系统上的所有文件和目录)
/home/managers 中创建的文件自动将组所有权设置到 sysmgrs 组

解题:

mkdir /home/managers                //创建目录
chgrp sysmgrs /home/managers        //改组
chmod 770 /home/managers/           //改权限
chmod g+s /home/managers/           //创建的文件自动将组所有权设置到 sysmgrs 组

验证结果:

[root@node1 ~]# ls -l /home/ | grep managers
drwxrwx---. 2 root    sysmgrs   6 Oct 24 03:19 managers


[root@node1 ~]# cd /home/managers/
[root@node1 managers]# touch 4
total 0
-rw-r--r--. 1 root sysmgrs 0 Oct 14 20:49 4

7.配置 NTP

题目要求:

配置您的系统,使其成为 materials.example.com 的 NTP 客户端

解题:

vim /etc/chrony.conf
    添加    server materials.example.com iburst

systemctl restart chronyd.service            //重启

 验证结果:

[root@node1 ~]# chronyc sources
210 Number of sources = 1
MS Name/IP address         Stratum Poll Reach LastRx Last sample               
===============================================================================
^* classroom.example.com         8   6    17     4   -100us[ -247us] +/- 1139us

8.配置 autofs

题目要求:

配置 autofs ,以按照如下所述自动挂载远程用户的主目录:
materials.example.com ( 172.25.254.254 ) NFS 导出 /rhome 到您的系统。此文件系统包含为用户remoteuser1 预配置的主目录
remoteuser1 的主目录是 materials.example.com:/rhome/remoteuser1
remoteuser1 的主目录应自动挂载到本地 /rhome 下的 /rhome/remoteuser1
主目录必须可供其用户写入
remoteuser1 的密码是 flectrag

解题:

yum -y install autofs                   //安装
vim /etc/auto.master    
    添加    /rhome  /etc/auto.nfs

cp /etc/auto.misc /etc/auto.nfs            //复制配置文件
vim /etc/auto.nfs
    添加    remoteuser1     -fstype=nfs,rw  materials.example.com:/rhome/remoteuser1

systemctl restart autofs.service     //重启
systemctl enable autofs.service        //启动
systemctl restart autofs.service 

 验证结果:

[root@clear ~]# su remoteuser1
[remoteuser1@clear root]$ df -T | grep /rhome
materials.example.com:/rhome/remoteuser1 nfs4      52314112 1915264  50398848   4% /rhome/remoteuser1

9.配置 /var/tmp/fstab 权限

题目要求:

将文件 /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

解题:

cp -r /etc/fstab /var/tmp/fstab                    //复制
setfacl -m u:natasha:rw,u:harry:- /var/tmp/fstab    //改权

 验证结果:

[root@clear ~]# getfacl /var/tmp/fstab 
getfacl: Removing leading '/' from absolute path names
# file: var/tmp/fstab
# owner: root
# group: root
user::rw-
user:harry:---
user:natasha:rw-
group::r--
mask::rw-
other::r--

10.配置用户帐户

题目要求:

配置用户 manalo ,其用户 ID 为 3533。此用户的密码应当为 flectrag

解题:

useradd -u 3533 manalo
passwd manalo

 验证结果:

[root@clear ~]# grep manalo /etc/passwd
manalo:x:3533:3533::/home/manalo:/bin/bash

11.查找文件

题目要求:

查找归 jacques 所有的所有文件并将其副本放入 /root/findfiles 目录

解题:

mkdir /root/findfiles
find / -user jacques -exec cp -a {} /root/findfiles \;

 验证结果:

[root@clear ~]# ll /root/findfiles/
total 0
-rw-r--r--. 1 jacques root    0 Jun 24 21:15 gamelan
-rw-r--r--. 1 jacques jacques 0 Jun 24 21:15 jacques
-rw-r--r--. 1 jacques root    0 Jun 24 21:15 libWedgeit.so.1.2.3

12.查找字符串

题目要求:

查找文件 /usr/share/xml/iso-codes/iso_639_3.xml 中包含字符串 ng 的所有行。将所有这些行的副本按原始顺序放在文件 /root/list 中。 
/root/list 不得包含空行,且所有行必须是 /usr/share/xml/iso-codes/iso_639_3.xml 中原始行的确切副本

解题:

grep ng /usr/share/xml/iso-codes/iso_639_3.xml > /root/list

 验证结果:

cat /root/list

13.创建存档

题目要求:

创建一个名为 /root/backup.tar.gz 的 tar 存档,其应包含 /usr/local 的 tar 存档,其应包含 /usr/local 的内容。该 tar 存档必须使用 gzip 进行压缩
创建一个名为 /root/backup.tar.gz 的 tar 存档,其应包含 /usr/local 的 tar 存档,其应包含 /usr/local 的内容。该 tar 存档必须使用 bzip 进行压缩

解题:

tar cvzf /root/backup.tar.gz /usr/local
tar cvjf /root/backup.tar.bz /usr/local

 验证结果:

[root@clear ~]# ls /root/ |grep tar
backup.tar.bz
backup.tar.gz

14-15.容器

题目要求:

利用注册服务器上的 rsyslog 镜像,创建一个名为  logserver 的容器(配置容器使其自动启动)

面向 wallah 用户,配置一个 systemd 服务
该服务命名为 container-logserver ,并在系统重启时自动启动,无需干预


通过以下方式扩展上一个任务的服务(为容器配置持久存储)

配置主机系统的 journald 日志以在系统重启后保留数据,并重新启动日志记录服务
将主机 /var/log/journal目录下任何以 *.journal 的文件复制到 /home/wallah/container_logfile 中
将服务配置为在启动时自动将   /home/wallah/container_logfile 挂载到容器中的 /var/log/journal 下

注册服务器地址registry.domain250.example.com
使用 admin 作为用户名,使用 redhat321 作为映像注册表的凭据

解题:

mkdir -p /home/wallah/container_logfile            //创建目录
systemctl restart systemd-journald                 //启动journal日志记录服务
find /var/log/journal -name "*.journal" -exec cp -a {} /home/wallah/container_logfile \;    //复制文件
chown -R wallah:wallah /home/wallah/container_logfile/     //提高权限
ssh wallah@node1                                        //登陆wallah
podman login registry.domain250.example.com             //登陆服务器
podman search rsyslog                                   //查看url
podman run -itd --name logserver -v /home/wallah/container_logfile:/var/log/journal:Z registry.domain250.example.com/rhel8/rsyslog            //创建容器并挂载
podman stop logserver                                   //配置一个 systemd 服务
mkdir -p ~/.config/systemd/user                        
cd ~/.config/systemd/user
podman generate systemd --name logserver --files
systemctl --user enable --now container-logserver.service    //服务命名为 container-logger
loginctl enable-linger                                       //自动启动

验证结果:

[root@clear ~]# ls /home/wallah/container_logfile    //文件复制
1.journal

16.配置容器使其自动启动

题目要求:

利用注册服务器上的 rsyslog 镜像,创建一个名为  logger 的容器(配置容器使其自动启动)

面向 wallah 用户,配置一个 systemd 服务
该服务命名为 container-logger ,并在系统重启时自动启动,无需干预
将服务配置为在启动时自动将   /home/wallah/var_log 挂载到容器中的 /var/log 下
在容器中执行命令podman exec logger logger -p authpriv.info SUIBIAN

解题:

ssh wallah@node1
mkdir -p /home/wallah/var_log                        //创建
podman login registry.domain250.example.com                    //登陆服务器
 podman run -d --name logger -v /home/wallah/var_log:/var/log:Z registry.domain250.example.com/rhel8/rsyslog                    //创建容器并挂载
podman stop logger                                   //配置一个 systemd 服务
mkdir -p ~/.config/systemd/user                        
cd ~/.config/systemd/user
podman generate systemd -n logger -f          
systemctl --user enable --now container-logger.service    //服务命名为 container-logger
loginctl enable-linger                                       //自动启动
podman exec logger logger -p authpriv.info SUIBIAN            //在容器中执行命令
或
podman exec -it logger /bin/bash
logger -p authpriv.info SUIBIAN

验证结果:

17.容器nginx

题目要求:

利用注册服务器上的 nginx 镜像,创建一个名为  nginx 的容器

面向 wallah 用户,配置一个 systemd 服务
该服务命名为 container-nginx ,并在系统重启时自动启动,无需干预
在/home/wallah/www下创建文件index.html,内容为hello nginx
将服务配置为在启动时自动将   /home/wallah/www 挂载到容器中的 /usr/share/nginx/html 下
将容器主机上的端口 8080 映射到容器上的端口 80

解题:

ssh wallah@node1
mkdir -p /home/wallah/www                        //创建
podman login registry.domain250.example.com                    //登陆服务器
podman search registry.domain250.example.com/                //查看url
podman run -d --name nginx -v /home/wallah/www:/usr/share/nginx/html:Z -p 8080:80 registry.domain250.example.com/library/nginx                   //创建容器并挂载和端口
podman stop nginx                                   //配置一个 systemd 服务
mkdir -p ~/.config/systemd/user                        
cd ~/.config/systemd/user
podman generate systemd --name nginx --files            
systemctl --user enable --now container-nginx.service    //服务命名为 container-logger
loginctl enable-linger                                       //自动启动
echo 'hello nginx' > /home/wallah/www/index.html             //创建文件index.html

验证结果:

18.添加sudo免密操作

题目要求:

允许sysmgrs组成员sudo时不需要密码

解题:

vim +100 /etc/sudoers
    %sysmgrs        ALL=(ALL)       NOPASSWD:ALL

 验证结果:

su harry
su

19.配置创建新用户的密码策略

题目要求:

创建新用户时,默认密码策略为20天后,密码会过期

解题:

vim /etc/login.defs 
    修改:    PASS_MAX_DAYS   20

 验证结果:

cat /etc/passwd

20.创建脚本

题目要求:

创建一个名为myresearch的脚本
该脚本放置在/usr/bin下
该脚本用来查找/usr下所有小于10m且具有修改SGID权限的文件
将这些文件名称放置于/root/myfiles文件中

创建一个名为newsearch的脚本
该脚本放置在/usr/bin下
该脚本用来查找/usr下所有大于30k,但是小于50k且具有SUID权限的文件
将这些文件名列表保存在/root/newfiles文件中 

解题:

mkdir /root/myfiles                //创建目录
vim /usr/bin/myresearch            //创建文件
    #!/bin/bash
    find /usr -size -10M -perm -2000 -exec cp -a {} /root/myfiles \;

chmod +x /usr/bin/myresearch        //加权
cd /usr/bin/
./myresearch                        //运行


mkdir /root/newfiles               //创建目录
vim /usr/bin/newsearch            //创建文件
    #!/bin/bash
    find /usr -size -50k -size +30k -perm -4000 -exec cp -a {} /root/newfiles \;

chmod +x /usr/bin/newsearch
cd /usr/bin/
./newsearch

 验证结果:

[root@clear bin]# ls /root/myfiles/
locate  ssh-keysign  utempter  write

[root@clear bin]# ls /root/newfiles/
chfn  cockpit-session  passwd  umount  unix_chkpwd  userhelper

21.设置默认权限

题目要求:

用户manalo在 node1 上,所有新创建的文件都应具有-r--r--r--的默认权限
此用户的所有新创建目录应具有dr-xr-xr-x的默认权限

解题:

su manalo
cd
vim .bashrc 
    添加    umask 222

source .bashrc     //重新加入文件

 验证结果:

[manalo@clear ~]$ touch 1
[manalo@clear ~]$ mkdir 2
[manalo@clear ~]$ ll
total 0
-r--r--r--. 1 manalo manalo 0 Oct 24 09:15 1
dr-xr-xr-x. 2 manalo manalo 6 Oct 24 09:15 2

22.配置一个应用

题目要求:

配置一个应用rhcsa
这个应用以 natasha 身份运行时,会显示一个字符串This is a rhcsa

解题:

法一:

su natasha
vim .bashrc
   添加     alias rhcsa='echo This is a rhcsa'

source .bashrc     //重新加入文件

法二:

mkdir ~/bin
vim ~/bin/rhcsa
    #!/bin/bash
    echo This is a rhcsa

chmod +x ~/bin/rhcsa

 验证结果:

[root@clear natasha]# su natasha
[natasha@clear ~]$ rhcsa 
This is a rhcsa

23.设置登陆信息

题目要求:

配置用户 hraay 登录时,提示"welcome.."

解题:

su hraay
vim ~/.bash_profile
    添加:echo "welcom.."

验证结果:

su root
su hraay

node2

1.设置 root 密码

题目要求:

解题:

验证结果:

2.配置您的系统以使用默认存储库

题目要求:

解题:

验证结果:

3.调整逻辑卷大小

题目要求:

将逻辑卷 vo 及其文件系统的大小调整到 230 MiB。确保文件系统内容保持不变
注:分区大小很少与请求的大小完全相同,因此可以接受范围为 217 MiB 到 243 MiB 的大小

解题:

df -T | grep vo
    ///dev/mapper/myvol-vo ext4        178367    1551    163628   1% /reports    //查看名

lvextend -rL 230M /dev/mapper/myvol-vo

验证结果:

[root@node2 ~]# df -T | grep vo
/dev/mapper/myvol-vo ext4        225965    2063    208748   1% /reports

4.添加交换分区

题目要求:

向您的系统添加一个额外的交换分区 756MiB 
交换分区应在系统启动时自动挂载。不要删除或以任何方式改动系统上的任何现有交换分区

解题:

fdisk /dev/vdb                    //加入硬盘
    n
    p    
    回车
    回车/自动
    +756M
    w

mkswap /dev/vdb3                  //格式化
swapon /dev/vdb3                  //装入
vim /etc/fstab                     //自动
    添加    /dev/vdb3       swap    swap    defaults 0 0

验证结果:

[root@node2 ~]#  free -m
              total        used        free      shared  buff/cache   available
Mem:           1826         191        1404          24         231        1466
Swap:          1011           0        1011

5.创建逻辑卷

题目要求:

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

逻辑卷取名为 qa ,属于 qagroup 卷组,大小为 60 个扩展块
qagroup 卷组中逻辑卷的扩展块大小应当为 16 MiB
使用 ext3 文件系统格式化新逻辑卷。该逻辑卷应在系统启动时自动挂载到 /mnt/qa 下

解题:

mkdir /mnt/qa
fdisk /dev/vdb
    n
    p    
    回车
    回车/自动
    +1G
    w
pvcreate /dev/vdb4                                    //格式化为pv
vgcreate -s 16M  qagroup /dev/vdb4                       //格式化为vg和命名
lvcreate -l 60 -n qa qagroup                       //格式化为lv和命名
mkfs.ext3 /dev/qagroup/qa                           //格式化为ext3
mkdir /etc/fstab
    /dev/qagroup/qa /mnt/qa ext3    defaults 0 0

mount -a        //刷新

验证结果:

[root@node2 ~]# df -T | grep qa
/dev/mapper/qagroup-qa ext3        951192    1224    900816   1% /mnt/qa

6.创建 VDO 卷

题目要求:

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

使用未分区的磁盘
该卷的名称为 vdough
该卷的逻辑大小为 50G
该卷使用 xfs 文件系统格式化
该卷(在系统启动时)挂载到 /vbread 下

解题:

mkdir /vbread
yum -y install vdo

    [root@node2 ~]# man vdo | grep 10T    //查看工具
           # vdo create --name=vdo0 --device=/dev/sdb1 --vdoLogicalSize=10T

vdo create --name=vdough --device=/dev/vdc --vdoLogicalSize=50G         //加入vdo
mkfs.xfs -K /dev/mapper/vdough                     //格式化
vim /etc/fstab
    /dev/mapper/vdough   /vbread    xfs    defaults 0 0

systemctl enable vdo
systemctl restart vdo
mount -a

验证结果:

[root@node2 ~]# df -T |grep vdough
/dev/mapper/vdough     xfs       52403200  398448  52004752   1% /vbread

7.配置系统调优

题目要求:

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

解题:

[root@node2 ~]# tuned-adm recommend     //查看
virtual-guest

tuned-adm profile virtual-guest         //设置调优

验证结果:

[root@node2 ~]# tuned-adm active 
Current active profile: virtual-guest

你可能感兴趣的:(红帽,linux)