打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
RHCSA8
  1. 每完成一个考题 自行验证结果!!!

Servera

1)配置网络

在 servera 上 配置网络 要求如下

  • 主机名:servera.lab.example.com
  • IP:172.25.250.10/24
  • 网关:172.25.250.250
  • DNS:172.25.250.250 [ ONBOOT=yes ]
nmtui

nmcli device s
nmcli connection up enp1s0
systemctl restart NetworkManager

vim /etc/sysconfig/network-scripts/ifcfg-ens160				#### 重要!!!!
ONBOOT=yes				#### 重要!!!!

systemctl restart NetworkManager
ifconfig | grep 172.25

然后在 workstation 远程 servera

ssh root@172.25.250.10

修改主机名:

hostnamectl set-hostname servera.lab.example.com

exec bash

' 验证 '
hostname

2)给系统配置默认存储库

YUM 的 存储库 地址分别为:

  • http://content.example.com/rhel8.0/x86_64/dvd/BaseOS
  • http://content.example.com/rhel8.0/x86_64/dvd/AppStream
vim /etc/yum.repos.d/rhel.repo

[BaseOS]
name=BaseOS
baseurl=http://content.example.com/rhel8.2/x86_64/dvd/BaseOS
enabled=1
gpgcheck=0

[AppStream]
name=AppStream
baseurl=http://content.example.com/rhel8.2/x86_64/dvd/AppStream
enabled=1
gpgcheck=0

yum clean all
yum makecache
yum list | wc -l

3)调试 SELinux

非标准端口 82 上运行的 WEB 服务 在提供内容时遇到了问题

根据需求调试并解决问题 并使其满足以下条件:

  • 修改上下文信息 使 /var/www/html 目录下所有 html 文件 可访问 [ 注意不要修改或删除html文件内容 ]
  • 通过 82 端口 访问 WEB 服务
  • WEB 服务 开机自启
systemctl start httpd			# 这时我们发现启动报错了!!

vim /var/log/messages			# 我们查看 log 找报错原因


### 报错原因:
### SELinux 端口信息未添加 82 端口 [ 而 我们的 Web 服务需要在 82 端口 启用 ]

-------------------------------
vim /etc/httpd/conf/httpd.conf
Listen 82
systemctl restart httpd
--------------------------------

semanage port -l | grep http		# http_port_t 无 82 端口

' 查看帮助 '
man semanage port | grep -A20 EXA
semanage port -a -t http_port_t -p tcp 82  # 添加 82 端口

semanage port -l | grep http		# 查看是否已添加成功

systemctl start httpd		# 启动服务
systemctl enable httpd  # 开机自启


### 最后 cd 至 /var/www/html 
### 查看 html 上下文信息 并依次验证 html文件
ls -Z ./*		# 发现 index2 的上下文信息有问题

### 修改 index2 上下文信息 并刷新
man semanage fcontext | grep -A20 EXA
semanage fcontext -a -t httpd_sys_content_t index2.html
restorecon -Rv index2.html

_________________________________________________
### 需关闭防火墙才可访问 [ 或者开 82 端口策略 ]
systemctl stop firewalld.service
systemctl disable firewalld.service
_________________________________________________

### Web 访问 验证
172.25.250.10:82/index.html
172.25.250.10:82/index2.html
172.25.250.10:82/index3.html

### 开机自启 !!!!
systemctl status httpd		### 查看!!!!!
systemctl enable httpd		### 重要!!!!!

4)创建用户及用户组

创建 下列 用户 用户组 并按要求完成设置

  • 组名为 sysmgrs
  • natasha 用户的附属组为 sysmgrs
  • harry 用户的附属组为 sysmgrs
  • john 用户的 shell 是 非交互 shell 且不是 sysmgrs 组的成员
  • natasha harry john 的密码为 redhat
groupadd sysmgrs  # 创建组

useradd natasha -G sysmgrs	# 创建用户 并设置用户扩展组
id natasha									# 查看是否创建完成

useradd harry -G sysmgrs		# 创建用户 并设置用户扩展组
id harry

——————————————————————————
ll /bin/ | grep fal
——————————————————————————

useradd john -s /bin/false	# 创建 非交互shell 用户

### 设置密码
echo 'redhat' | passwd --stdin natasha
echo 'redhat' | passwd --stdin harry
echo 'redhat' | passwd --stdin john

### 最后记得要验证一下密码!!!
ssh natasha@127.0.0.1
ssh harry@127.0.0.1
ssh john@127.0.0.1

注:SELinux 需全程保持开启状态

5)配置 crontab 作业

知识点:

* * * * *
分 时 日 月 周

每隔 2 分钟 运行并执行以下命令:

  • logger “EX200 in progress” ; 以 用户 natasha 身份 运行
' 设置计划任务 '
crontab -e -u natasha
*/2 * * * * logger "EX200 in progress"

' 查看是否设置成功 '
su - natasha
crontab -l
exit

' 查看日志验证 '
grep EX200 /var/log/messages

在 23:14 这个时刻 运行并执行以下命令:

  • logger “EX200 in progress” ; 以 用户 natasha 身份 运行
crontab -e -u natasha
14 23 * * * logger "EX200 in progress"

6)创建协作目录

创建 具有 特殊权限 的目录 /home/managers 要求如下:

  • /home/managers 目录属于 sysmgrs
  • 此目录可以被 sysmgrs 的组成员 读取 写入 和访问 ; 但是 其他任何用户不具备 这些权限 [ 不包含 root 用户 ]
  • /home/managers 目录中创建的文件所属组自动变成 sysmgrs
mkdir /home/managers

chown :sysmgrs /home/managers	' 修改属组 '
ll -d /home/managers

---------------------------------------------------------
' 修改目录权限 '
chmod 2770 /home/managers [ SGID=2 root=7 group=7 other=0 ]
ll -d /home/managers
----------------------------------------------------------

chmod g=rwx /home/managers
chmod o=--- /home/managers
chmod g+s /home/managers

' 验证 '
cd /home/managers
touch test
ll [ 查看 test 文件是否有继承 managers 目录的权限 ]
rm -rf test

知识点:
[ SUID=4000 SGID=2000 SBIT=1000 ]

SGID:当一个目录被赋予 SGID 权限后 进入此目录的用户 [ 包括 root ] 其有效群组会变为该目录的所属组 就会使得用户在创建文件[ 或目录 ] 时 该文件 [ 或目录 ] 的所属组将不再是用户的所属组 而是目录的所属组

7)配置 NTP

配置 servera 作为 NTP 的客户端 跟时间服务器 172.25.250.250 同步时间

vim /etc/chrony.conf

' 修改第三行 '
server 172.25.250.250 iburst

' 重新启动并开机自启 '
systemctl restart chronyd
systemctl enable chronyd

' 验证 '
chronyc sources
MS
==
^* [ ^表示服务 *表示同步成功]  ---- 只有 * 代表同步成功

date

8)配置 autofs

配置 autofs 按照以下要求自动挂载远程用户的家目录 要求如下:

  • Content.example.com [ 172.25.250.250 ] NFS 导出 /rhome 到您的系统
  • 此文件系统包含为用户 user1 预配置的主目录 user1 的主目录是:workstation.lab.example.com:/rhome/user1
  • user1 的主目录应自动挂载到本地 /rhome 下的 /rhome/user1
  • 主目录必须可供其用户写入
  • user1 的密码是 redhat
yum install autofs -y		[ 安装 autofs 守护进程 ]

---------------------------
systemctl status ypbind
systemctl start ypbind
systemctl status ypbind
--------------------------

[ 修改主配置文件 ]
vim /etc/auto.master
/rhome  /etc/auto.rhome	[ 挂载目录 子配置文件 ]

[ 修改子配置文件]
cp /etc/auto.misc /etc/auto.rhome

vim /etc/auto.rhome
user1 -fstype=nfs,rw workstation.lab.example.com:/rhome/user1

[ 重启 autofs 并设置开机自启 ]
systemctl restart autofs
systemctl enable autofs

[ 验证 ] 
ssh user1@localhost
df -h

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

配置文件权限 将文件 /etc/fstab 复制到 /var/tmp/fstab

配置 /var/tmp/fstab 权限 满足如下条件

  • /var/tmp/fstab 属于 root 用户 和 root 组
  • /var/tmp/fstab 不能被任何人执行
  • 用户 natasha 有读写权限
  • 用户 harry 没有读写权限
  • 所有其他用户 [ 当前或未来 ] 能够 读取 /var/tmp/fstab
cp /etc/fstab /var/tmp/fstab

chown root:root /var/tmp/fstab
chmod a-x /var/tmp/fstab

setfacl -m u:natasha:rw- /var/tmp/fstab
setfacl -m u:harry:--- /var/tmp/fstab
chmod o+r /var/tmp/fstab

' 最后验证 '
getfacl /var/tmp/fstab

10)配置用户账户

  • 配置用户 manalo 其用户 ID 为 3533 此用密码为 redhat
useradd -u 3533 manalo
echo 'redhat' | passwd --stdin manalo

' 验证 '
id manalo
ssh manalo@172.25.250.10

11)查找文件

  • 查找属于 jacques 用户所属的所有文件 [ 理解为 包含普通文件及目录 ] 并拷贝至 /root/findfiles 目录
mkdir	/root/findfiles

' 两种方式 '
find / -user jacques -exec cp -a {} /root/findfiles \;
cp -a `find / -user jacques` /root/findfiles

cd /root/findfiles [ 验证 ]

12)查找字符串

  • 查找文件 /usr/share/xml/iso-codes/iso_639_3.xml 中包含字符串 ng 的所有行
  • 并将这些行的所有内容放至文件 /root/list/root/list 不得包含空行
grep ng /usr/share/xml/iso-codes/iso_639_3.xml > /root/test

grep -v ^$ /root/test > /root/list
rm -rf /root/test

13)创建归档

  • 创建一个名为 /root/backup.tar.gz 的 tar 包 用来压缩 /usr/local 目录
tar czvf /root/backup.tar.gz /usr/local

gzip		---- czvf
bzip2		---- cjvf
xz			---- cJvf

' 验证 '
ls /root

14)配置 Sudo 提权

允许 sysmgrs 组的成员可以 以 root 身份执行任何命令 并且 不需要密码

[ 将固定格式输出 ]
grep wheel /etc/sudoers > /etc/sudoers.d/sysmgrs

[ 编写配置文件 ]
vim /etc/sudoers.d/sysmgrs
%sysmgrs        ALL=(ALL)       NOPASSWD: ALL		[ 开头的 % 记得添加!!! ]

' 验证 '
su - harry
sudo su - root  	[ 注:是使用 sudo 命令提权 无需密码 ]
su - root         [ 直接 su - root 是不行的!!!]

15)设置密码默认策略

为新创建的用户设置 密码策略 要求创建用户时 密码默认 20 天 后过期

vim /etc/login.defs
PASS_MAX_DAYS   20

保存并退出

16)配置 umask 值

设置 natasha 用户创建的 目录权限默认为 733 文件权限为 622 要求:永久生效

初始 umask 0022
目录权限为:755
文件权限为:644

[ 切换用户 ]
su - natasha

[ 编写.bashrc ]
vim ~/.bashrc
umask 0044	[ 末行添加 ]
source ~/.bashrc

[ 验证 ]
cd ~
mkdir	test
touch test

Serverb

1)破解 root 密码

重启 >> 出现 GRUB 启动菜单时 >> 按 e 键 进入 编辑状态

找到 linux 所在行 >> 末尾添加 rd.break 按下 ctrl + x 键 进入恢复模式

然后以可写方式重新挂载硬盘中的根分区 >> 并重新 设置 root 密码

mount -o remount,rw /sysroot 					' 以可读写方式重新挂载根系统
chroot /sysroot												' 切换到根系统
echo 'redhat' | passwd --stdin root 	' 设置指定的密码
touch /.autorelabel										' 标记下一次启动重做selinux标记
ctrl + D															' 退出
ctrl + D															' 重启

2)配置 YUM 源

  • 同 servera 操作

3)调整 逻辑卷 大小

  • 将名字为 v0 的逻辑卷 大小调整为 200MIB 确保文件系统的内容保持不变
  • 调整后的逻辑卷大小范围在 180MIB 至 220MIB 的范围内都是可以接受的
lsblk				# 查看
lvs	| grep v0			# 查看 v0 逻辑卷 信息

如图所示:逻辑卷 v0 属于 卷组 vg0 大小为 100M

我们再来查看一下 卷组 vg0 的信息

如图所示:VG0 的空间剩余 920M 足够分配

接下来我们进行 逻辑卷扩容

' 扩容 '
lvextend -r -L 200M /dev/vg0/v0

' 查看 '
lvs

完成

4)创建交换分区

  • 向 serverb 添加一个额外的 交换分区 756MIB
  • 交换分区应在 系统启动时自动挂载
  • 不要删除 或以任何方式改动系统上的任何现有交换分区
lsblk ' 查看 '

' 使用一块系统中未分区的磁盘 '
fdisk /dev/vdc		# 分区
n									# 新建
p									# 主分区
1									
Enter							# 起始扇区
+756M							# 大小
t									# 改变类型
82								# 交换分区
p									# 查看
w									# 保存退出

lsblk							# 查看是否创建成功

mkswap /dev/vdc1	[ 创建交换分区 ]
swapon /dev/vdc1	[ 启动交换分区 ]

lsblk -f | grep vdc1 [ 查看 UUID ]

[ 挂载 ]
vim /etc/fstab

mount -a

swapon -s  [ 查看是否启动 ]
free -h		 [ 查看是否成功 ]

5)创建逻辑卷

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

  • 逻辑卷的名字是 database 卷组是 datastorage 大小是 60 个 PE size
  • datastorage 的 PE size 是 16 MIB
  • 格式化成 ext4 文件系统 并在系统启动时自动挂载到 /mnt/data
lsblk

[ 首先创建分区 ]
fdisk /dev/vdc
n
p
2
Enter
+1.5G [ 要大于 16*60 ]
t
2
8e
p
wq

[ 然后创建物理卷PV ]
pvcreate /dev/vdc2
pvs									# 查看

[ 再创建卷组VG ]
vgcreate datastorage -s 16M /dev/vdc2 
vgdispaly									# 查看

[ 最后创建逻辑卷LV ]
lvcreate -n database -l 60 /dev/datastorage
lvs									# 查看

[ 格式化 ]
mkfs.ext4 /dev/datastorage/database

[ 挂载 ]
mkdir /mnt/data
vim /etc/fstab
UUID=2c447160-496f-4e49-9cc9-1db9b2e95f01  /mnt/data  ext4  defaults  0 0
mount -a
df -Th	# 查看

6)创建 VDO 卷

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

  • 使用 未分区 的磁盘
  • 该卷的名称为 vdotest
  • 该卷的逻辑大小是 50G
  • 该卷使用 xfs 文件系统格式化
  • 该卷在系统启动时挂载到 /mnt/vdotest
yum install vdo -y

[ 创建VDO ]
man vdo | grep create	[ 查看帮助 ]
vdo create --name=vdotest --device=/dev/vdd --vdoLogicalSize=50G

[ 格式化 ] ### 注意: -K 参数!!!
mkfs.xfs -K /dev/mapper/vdotest

[ 创建挂载目录 ]
mkdir /mnt/vdotests

[ 查看帮助 ]
man vdo | grep defaults

vim /etc/fstab
/dev/mapper/vdotest  /mnt/vdotest  xfs  defaults,x-systemd.requires=vdo.service 0 0

mount -a
df -Th

7)配置系统调优

将系统的 调优配置文件 设置为 tuned 推荐的配置文件

' 查看推荐值 '
tuned-adm recommend

' 设置成推荐值 '
tuned-adm profile virtual-guest

' 查看是否配置完成 '
tuned-adm list

8)创建用于定位文件的脚本

  • 创建名为 /usr/local/bin/file.sh 的脚本
  • 查找 /usr 下面所有 小于 10M 并有设置 SGID 权限的 文件
  • 将查找到的 文件列表 保存到 /root/findfiles
[ 编写脚本 ]
vim /usr/local/bin/file.sh
#!/bin/bash
find /usr -size -10M -perm -2000 -type f >  /root/findfiles			[ 谨记: -perm -2000 ]  [ 这个 "-" 不能少!!!!!]

[ 增加执行权限 ]
chmod a+x /usr/local/bin/file.sh

----------------------------------
[ 执行脚本并验证 ]
sh /usr/local/bin/file.sh
cat /root/findfiles | xargs ls -l
----------------------------------
  • 查找 /usr 目录下 小于 10M 并且 组 ID 不为 root文件
  • 将查找到的 文件结果 拷贝至 /etc/myfiles 文件
find /usr -size -10M ! -group root -type f > /etc/myfiles
  • 查找 /usr 目录下 大于 30K 小于 50K 且 具有 SUID 属性文件
  • 文件名 保存至 /etc/userfile 文件内
find /usr -size +30k -size -50k -type f -perm -4000 > /etc/userfile					[ 谨记: -perm -4000 ]  [ 这个 "-" 不能少!!!!!]

知识点:

[ SUID=4755 SGID=2755 SBIT=1755 ]

Podman

1)容器创建

注册表服务器:registry.network.example.com [ 用IP地址也行:172.25.250.1 ]

访问 注册表服务器

用户名**:admin**

密码**:root**

  • 容器管理用户为 eldorado [ 以考试要求为准 如果没有则需要创建 ]

  • 使用 rsyslog 镜像创建一个名为 logger 的容器

  • 设置容器 开机自启

  • ps:若登录不上注册表 请使用 systemctl restart container-registry.service 命令

  • id eldorado [ 查看用户是否存在 : 无则创建 ]

  • ssh eldorado@servera [ 使用普通用户身份登录 ]

  • login [ 登录 注册表服务器 ]

  • search [ 搜索 所需镜像 ]

  • pull [ 提取 镜像 ]

  • images [ 查看 镜像 ]

禁止: su - 普通用户

2)容器持久化存储

  • 主机 /var/log/journal 目录 及任何目录中的 *.journal文件 复制到目录 /home/eldorado/container-journal
  • 容器启动时 自动将目录 /home/eldorado/container-journal/ 挂载到容器中的**/var/log/journal 下**

3)配置容器使其自启动

  • 利用注册服务器上的 rsyslog 镜像 创建一个名为 logger 的容器

  • 面向 eldorado 用户 配置一个 systemd 服务

  • 该服务命名为 container-logger 并在系统重启后自启

  • ssh root@servera [ 新开终端 使用 root用户 登录 ]

  • vim /etc/systemd/journald.conf [ 修改配置文件 ]

  • Storage=persistent [ 将日志文件永久存储至 /var/log/journal ]

  • systemctl restart systemd-journald

  • systemctl restart rsyslog [ 重启服务 ]

  • mkdir /home/eldorado/container-journal [ 创建目录 ] ---- 第二题内容

  • cp -a find /var/log/journal -name '\*.journal' /home/eldorado/container-journal

  • chown -R eldorado:eldorado /home/eldorado/container-journal [ 修改目录权限 ]

  • ssh eldorado@servera [ 另一个终端 普通用户 ]

  • podman run -itd –name=logger -v /home/eldorado/container-journal:/var/log/journal/:Z [ 创建容器 ]

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

  • cd ~/.config/systemd/user

  • podman generate systemd --name logger --files –new [ 生成 systemd 文件]

  • podman stop logger

  • podman rm logger

  • loginctl enable-linger [ 开机自启 ]

  • systemctl --user daemon-reload

  • systemctl --user start container-logger.service

  • systemctl --user enable container-logger.service

  • systemctl --user status container-logger.service

  • reboot servera

  • ssh eldorado@servera [ 使用普通用户连接 ]

  • podman ps [ 验证 ]

总结:

四个步骤:

  • 1:普通用户 下载镜像 验证
  • 2:root用户 修改配置文件 重启服务 创建目录 复制内容 修改权限
  • 3:普通用户 创建容器 创建 systemd/user 目录 进入目录生成 systemd文件 reload loginctl
  • 4:验证!! 重启servera 使用普通用户登录 查看容器是否在运行 podman ps

新增

1)配置 node1 上应用 RHCSA

要求如下:

  • 当用户 Padora 的身份运行 RHCSA
  • 将会显示消息:borough lirely excursion nephew scarce
exit
ssh padora@servera

echo $PATH

mkdir /home/padora/.local/bin -p
cd /home/padora/.local/bin

vim rhcsa
#!/bin/bash
echo 'borough lirely excursion nephew scarce'

chmod +x rhcsa

'验证'
cd ~
rhcsa
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
CentOS 7系统上yum搭建LAMPcentos
ubuntu18.04.4 配置 NFS 服务器
CentOS 7.2 配置Apache服务(httpd)
CentOS7.4用yum安装并配置MySQL5.7
linux centos7下安装jenkins(rpm安装--好使的)
linux查看mysql服务是否启动?
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服