rhcsa exam

  • Post author:
  • 帖子最後修改:2023 年 3 月 4 日

1.配置 open1 , 使其具以下網路配置:

主機名: servera.lab.example.com

IP address:172.25.250.10

Netmask : 255.255.255.0

Gatway:172.25.250.254

DNS: 172.25.254.254

				
					ip a
nmcli c s
nmcli c mod enp0s3 ipv4.addresses 172.25.250.10/24 ipv4.gateway 172.25.250.254 ipv4.dns 172.25.254.254
hostnamectl set-hostname servera.lab.example.com

or

nmtui
				
			

2.配置您的系統以使用默認存儲庫

http://mirror01.idc.hinet.net/CentOS/8-stream/BaseOS/x86_64/os/

http://mirror01.idc.hinet.net/CentOS/8-stream/AppStream/x86_64/os/

				
					vim /etc/yum.repos.d/centos8.repo

[centos8_baseOS]
name=centos8 baseos
baseurl=http://mirror01.idc.hinet.net/CentOS/8-stream/BaseOS/x86_64/os/
enabled=1
gpgcheck=1
gpgkey=http://mirror01.idc.hinet.net/CentOS/RPM-GPG-KEY-CentOS-Official

[CENTOS_AAPP]
name=centos8.2 APPSTREAM
baseurl=http://mirror01.idc.hinet.net/CentOS/8-stream/AppStream/x86_64/os/
enabled=1
gpgcheck=1
gpgkey=http://mirror01.idc.hinet.net/CentOS/RPM-GPG-KEY-CentOS-Official


yum list
				
			

3.調試 SELinux

非標準端口 82 上運行的 Web 服務器在提供內容時遇到問題。根據需要調試並解決問題,使其滿足以下條件:
系統上的 Web 服務器能夠提供 /var/www/html 中所有現有的 HTML 文件(注:不要刪除或以其他方式改動現有的文件內容)
Web 服務器在端口 82 上提供此內容
Web 服務器在系統啟動時自動啟動

				
					 yum install httpd
vim /etc/httpd/conf/httpd.conf

Listen 82

semanage port -l|grep http

http_port_t tcp 80, 81, 443, 488, 8008, 8009, 8443, 9000

semanage port -新增 -標籤 標籤名      -port  類型  端口號
semanage port   -a   -t   http_port_t   -p   tcp   82
systemctl start httpd.service 
systemctl enable httpd.service
確定 tcp 82 port 加入
semanage port -l|grep http

防火牆

firewall-cmd --add-port=82/tcp --permanent
firewall-cmd --reload 
				
			

4.創建用戶帳戶

創建下列用戶、組和組成員資格:
名為 manager 的組
用戶 mary ,作為次要組從屬於 manager
用戶 jerry ,作為次要組還從屬於 manager
用戶 sarah ,無權訪問系統上的交互式 shell 且不是manager 的成員
mary 、 jerry 和 sarah 的密碼應當都是 12345678

				
					groupadd manager
useradd -G manager mary
useradd -G manager jerry
useradd -s /sbin/nologin sarah
echo "12345678" |passwd --stdin mary
echo "12345678" |passwd --stdin jerry 
echo "12345678" |passwd --stdin sarah 

				
			

5.配置 cron 作業

用戶 mary 必須配置一個 cron 作業,該作業每天在 14:23 (當地時間)運行且執行
/bin/echo hello

				
					ssh mary@servera
crontab -e

#   *   *   *   *   *   CMD
#   分  時  日  月  星期

23 14 * * * /bin/echo hello
				
			

6.創建具有以下特徵的協作目錄/home/managers:

/home/managers 的組有權是 manager
目錄應當可被 manager 的成員讀取、寫入和訪問,但任何其他用戶不具這些權限。 (當然,root 用戶有權訪問系統上的所有文件和目錄)
/home/managers 中創建的文件自動將組所有權設置到 manager 組

				
					ssh root@servera
mkdir -p /home/managers
cd /home/managers
chgrp manager managers/
chmod 2770 managers/
ll

drwxrws---.  2 root    manager    6 Nov 24 13:53 managers

ssh mary@servera
cd /home/managers/
touch index.html
mkdir DDD
ll

drwxrwsr-x. 2 mary manager 6 Nov 24 13:56 DDD
-rw-rw-r--. 1 mary manager 0 Nov 24 13:55 index.html
				
			

6.配置 NTP

配置您的系統,使其成為 classroom.example.com 的 NTP 客戶端。

				
					chronyc sources -v

vim /etc/chrony.conf

#server 3.rhel.pool.ntp.org iburst
server classroom.example.com iburst

systemctl restart chronyd.service
chronyc sources -v

^* classroom.example.com         3   6    17    21    -44us[  -37us] +/-   23ms

				
			

7.配置 autofs

配置 autofs ,以按照如下所述自動掛載遠程用戶的主目錄:
utility.domain2.example.com(172.24.2.100) NFS 導出/rhome到您的系統。此文件系統包含為用戶 remoteuser2 預配置的主目錄
remoteuser2 的主目錄是 utility.domain2.example.com:/rhome/remoteuser2
remoteuser2 的主目錄應自動掛載到本地 /rhome 下的 /rhome/remoteuser2
主目錄必須可供其用戶寫入
remoteuser2 的密碼是 tritebam

				
					ssh root@servera

yum install autofs
編輯自動掛載設定檔名稱
vim /etc/auto.master.d/remote.autofs

#rhome目錄設定檔  在/etx/auto.rhome
#/rhome           /etc/auto.rhome
/rhome            /etc/auto.rhome

編輯掛載設定檔
vim /etc/auto.rhome 

#掛載  可讀寫    版本4.2       ip:/路徑
#dave   -rw,    vars=4.2    utility.domain2.example.com:/rhome/dave
remoteuser2 -rw,vars=4.2 utility.domain2.example.com:/rhome/remoteuser2

systemctl enable autofs
systemctl restart autofs.service
su - remoteuser2
df -h

nfs.lab.example.com:/rhome/remoteuser2   75G  6.4G   69G   9% /rhome/remoteuser2


				
			

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

將文件 /etc/fstab 複製到 /var/tmp/fstab。配置 /var/tmp/fstab 的權限以滿足如下條件:
文件 /var/tmp/fstab 歸 root 用戶所有
文件 /var/tmp/fstab 屬於組 root
文件 /var/tmp/fstab 應不能被任何人執行
用戶 mary 能夠讀取和寫入 /var/tmp/fstab
用戶 jerry 無法寫入或讀取 /var/tmp/fstab
所有其他用戶(當前或未來)能夠讀取 /var/tmp/fstab

				
					ssh root@servera

cp /etc/fstab /var/tmp/fstab 
cd /var/tmp/

setfacl -m u:mary:rw fstab 
setfacl -m u:jerry:--- fstab 
getfacl fstab 

getfacl fstab 
# file: fstab
# owner: root
# group: root
user::rw-
user:mary:rw-
user:jerry:---
group::r--
mask::rw-
other::r--
				
			

10.查找文件

查找歸 student 所有的所有文件並將其副本放入 /root/files 目錄

				
					 cp -a $(find / -user student -type f) /root/files/
				
			

11.配置用戶帳戶。

配置用戶 manalo,其用戶 ID 為 3533。此用戶的密碼應當為 tritebam

				
					useradd -u 3533 manalo
echo "tritebam" |passwd --stdin manalo 

ssh manalo@servera
id 
uid=3533(manalo) gid=3533(manalo) groups=3533(manalo) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
				
			

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 list
				
			

13.創建存檔

創建一個名為 /root/backup.tar.gz 的 tar 存檔,其應包含 /usr/local 的內容。該 tar 存檔必須使用 gzip 進行壓縮

				
					tar -zcf /root/backup.tar.gz /usr/local/

驗證
file backup.tar.bz2 
-zcf file.tar.gz:归档并调用gzip进行压缩

-jcf file.tar.bz2:归档并调用bzip2进行压

-Jcf file.tar.xz:归档并调用xz进行压缩
				
			

14.配置容器以使其自動啟動

利用註冊表服務器上的 rsyslog 鏡像,創建一個名為 logserver 的容器
將其配置為以 systemd 服務的形式運行,且僅面向現有用戶 jerry
該服務應命名為 container-logserver ,並應在系統重新引導後自動啟動,而無需任何手動干預

15.為容器配置持久存儲

將在上一項任務中創建的容器服務配置為使用持久存儲,如下所示:
在 /home/jerry 下名為 container_journal 的容器主機上創建一個目錄
容器服務應將主機目錄 /home/jerry/container_journal 掛載到容器上的 /var/log/journal 下面
啟動容器服務時,應自動掛載持久存儲
在容器上運行命令

logger -p local5.info “This is a test”

時,容器上的 /var/log/journal/rhcsa.log 和容器主機上的 /home/jerry/container_journal/rhcsa.log 中均應顯示消息“這是一次 RHCSA 考試”
Configure persistent storage for a container

				
					#podman container
[jerry@servera]$
mkdir container_journal
podman login --tls-verify=false quay.lab.example.com
podman pull quay.lab.example.com/rhel8/rsyslog
podman run --name logserver -d -v /home/jerry/container_journal/:/var/log//journal/:Z quay.lab.example.com/rhel8/rsyslog:latest
podman exec -i -t logserver /bin/bash
echo "This is an exam" > /var/log/journal/rhcsa.log
cat /var/log/journal/rhcsa.log
this is an exam
exit

cat /container_journal/rhcsa.log
this is an exam

#systemd --user
mkdir -p .config/systemd/user
cd .config/systemd/user
podman generate systemd --name logserver --files --new 
loginctl show-user jerry
loginctl enable-linger
loginctl show-user jerry
podman stop logserver
podman rm logserver

systemctl --user enable container-logserver.service
systemctl --user start container-logserver.service

reboot

podman ps