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