考前注意事项
本人考试时遇到键盘和鼠标不能正常使用,所以选好机器后,一定检查下,避免耽误考试时间和影响考试心情。
另外两台机器做完记得多重启几次,尤其是node2,涉及分区挂载,防止机器重启不能正常进系统,影响考试结果。
RHCSA考试
RHCE8 版本和以往相比变动有还是比较大的,考试环境有两台虚拟机.
在 node1 上执行以下任务
一、网络配置
- nmcli 命令解法
man nmcli |grep nmcli*
nmcli connection modity wired\connection\1 ipv4.method manual ipv4.addresses 172.25.250.100/24 ipv4.gateway 172.25.250.254 ipv4.dns 172.25.250.254 connection.autoconnect yes
- 更改主机名信息:
hostnamectl set-hostname node1.domain250.example.com
二、配置YUM仓库
- 直接配置yum仓库的配置文件
三、调试 SELinux
- 查看SElinux状态 getenforce
- tail -f /var/log/messages #查看日志寻找解决方案
- man semanage port #查看semanage手册,添加82端口号
- semanager port -m -t http_port_t -p tcp 82
- systemctl restart httpd #重启httpd
- systemctl enabled httpd #开机启动httpd
- systemctl status httpd #查看httpd状态
- /var/www/html/file1不能访问,寻求解决方案
- man semanage fcontext | grep \#
- restorecon -R -v /var/www/html/file1 #修改file1文件context值
四、创建用户组、用户,修改用户属组,并修改密码
- groupadd sysmgrs #创建用户组
- tail /etc/group
- useradd natasha -G sysmgrs #创建用户并修改属组
- ls /bin/false #查看用户shell环境
修改用户密码
echo flectrag l passwd --stdin natasha
echo flectrag | passwd --stdin harry
echo flectrag | passwd --stdin sarah
五、配置计划任务cron 作业
- 查看crontab帮助信息
- crontab -e -u natasha #编辑crontab
- 分 时 日 月 星期 执行内容
- */2 * * * * logger "EX200 in progress"
- 查看crond状态systemctl status crond.service
- 设置开机启动systemctl enable crond.service
六、创建协作目录
- mkdir /home/managers #创建目录
- chown root:sysmgrs /home/managers #修改组所属,也可以修改其他用户所属
- chgrp sysmgrs /home/managers #修改组所属
- chmod g+rwx,o-rwx /home/managers #修改目录读写执行权限
- chmod 770 /home/managers (或者chmod 2770 /home/sysmgrs) #修改目录读写执行权限
- chmod g+s #创建文件自动将组所有权设置到sysmgrs
七、配置NTP
- systemctl status chronyd.service #查看chronyd状态
- Systemctl restart chronyd.service #重启chronyd服务
- Systemctl enable chronyd #开机启动chronyd
- 添加一行或者直接修改
- server materials.example.com iburst
- systemctl restart chronyd #重启NTP服务
八、配置 autofs
- rpm -q autofs #查看autofs是否安装
- systemctl status autofs #查看autofs状态
- systemctl enable autofs #开机启动autofs
- systemctl restart autofs #重启autofs
- showmount -e 172.25.254.254 #验证服务器是否通过NFS共享目录
- cat /etc/passwd |grep remoteuser1 #验证是否存在这个用户
- vi /etc/auto.master #修改auto.master配置文件
- /rhome /etc/auto.misc #映射配置文件
- vi /etc/auto.mimisc #修改映射配置文件
- remoteuser1 -fstype=nfs,rw materials.example.com:/rhome/remoteuser1
- 验证是否成功
九、配置文件/var/tmp/fstab权限
- cp /etc/fstab /var/tmp/fstab
- man setfacl
- setfacl -m u:natasha:rw- /var/tmp/fstab #设置用户natasha权限为读取
- setfacl -m u:harry:--- /var/tmp/fstab #设置用户harry无法读取
- getfacl /var/tmp/fstab #查看fstab权限是否生效
十、配置用户账户ID和密码
- useradd manalo -u 3533 #添加用户manalo,并设置ID
- passwd manalo #设置密码
十一、查找文件
- man find |grep find* #查看find帮助
- mkdir /root/find/findfiles #创建findfiles目录
- find / -user jacques -exec cp -a '{}' /root/findfiles \; #find查找文件并放入findfiles目录
十二、查找字符串
- man grep
- grep ng /usr/share/xml/iso-codes/iso_639_3.xml |grep -v ^$ > /root/list
- grep ng /usr/share/xml/iso-codes/iso_639_3.xml > /root/list
十三、创建归档
- tar -czf /root/backup.tar.gz /usr/local #tar创建压缩
- tar -tf /root/backup.tar.gz #查看文件是否压缩成功
- file /root/backup.tar.gz #查看文件类型
十四、容器操作
1.配置容器使其自动启动
- 利用注册服务器上的rsyslog镜像,创建一个名为logserver的容器
- 面向wallah用户,配置—个systemd 服务
- 该服务命名为container-logserver,并在系统重启时自动启动,无需干预
2.为容器配置持久存储
- 配置主机系统的journald日志以在系统重启后保留数据,并重新启动日志记录服务
- 将主机/var/log/journal目录下任何以*.journal的文件复制到/home/wallah/container_logfile中
- 将服务配置为在启动时自动将/home/wallah/container_logfile挂载到容器中的/var/log/journal 下
3.容器日志检测
systemctl list-unit-files |grep journal #查看journald服务开启
Systemctl enable systemd-journald #查看systemd-journald状态
man journald.conf #查看帮助
ll -d /run/log/journal #查看目录权限
mkdir /var/log/journal #创建 /var/log/journal文件夹
chown root:systemd-journal /var/log/journal #修改文件权限,和/run/log/journal 属组一样
chmod 2755 /var/log/journal #添加/var/log/journal文件夹组 (或者chmod g+s /var/log/journal)
systemctl restart systemd-journald #重启systemd-journald服务
cp /var/log/journal/*/system.journal /home/walhalla/container_logfile/ #复制文件夹
chown -R wallah ~wallah #指定wllah文件夹所有者为wallah
ll -Z /home/wallah/container_logfile/
vi /etc/systemd/journald.conf #修改/journald.conf文件
storage=persistent #修改为持久存储
podman login registry.domain250.example.com #登录pod仓库 用户名admin,密码redhat321
podman search registry.domain250.example.com/ 搜索镜像
podman run -d --name logserver
-v /home/wallah/container_logfile:/var/log/journal:Z
registry.domain250.example.com/rhel8/rsyslog #启动一个名为logserver容器
podman stop logserver #停掉容器
loginctl enable-linger #检查systemd的状态
loginctl show-user wallah #检查systemd的状态
man systemd. unit l grep config.*user #查看systemd.unit帮助
mkdir -p ~/.config/systemd/user/ #创建存放进程目录
cd ~/.config/systemd/user/ # 进入目录
podman generate systemd -n logserver -f #生成一个进程
systemctl --user enable --now container-logserver #添加开机启动
systemctl --user status container-logserver #查看状态
podman exec logserver ls /var/log/journal #执行容器语句ls
podman exec logserver logger -p authpriv.info suibian #执行容器语句
十五、设置sudo免密(附加题,随机出一题)
- vi /etc/sudoers +110 #进入文件110行,修改免sudo权限
十六、配置创建新用户的密码策略(附加题,随机出一题)
- vi /etc/login.defs +25 #进入文件25行,修改过期时间策略
十七、创建shell脚本(附加题,随机出一题)
- vim newsearch
find /usr -type f -size +30k -a -size -50k -a -perm /u=s -exec ls -lh {} > /root/myoutput.txt \;
- vim /usr/bin/repwis
find /usr/ -type f -size -10M -a -not -group root -exec cp -a {} /root/myoutput \;
- vim /usr/bin/repwis
find /usr -type f -size +10k -size -50k -not -group root -perm /g=s -exec cp -a {} /root/myfiles \;
十八、欢迎语(附加题,随机出一题)
- 登录到普通用户后提示一句欢迎语'hello word !'或者用户在登陆前显示欢迎语提示
- echo 'hello word !' >> /etc/motd #配置登录后的欢迎语 重定向欢迎语写入到/etc/motd
- echo 'hello word !' >> /etc/issue #配置登录前的欢迎语 重定向欢迎语写入到/etc/issue
十九、设置用户默认创建文件UMASK(附加题,随机出一题)
- 用户natasha默认创建文件权限为r--r--r--,默认创建的目录为r-xr-xr-x
- su - natasha #切换natasha用户
- echo 'umask 222'>>.bashrc #把umask写进用户家目录下的bashrc
- source ~/.bashrc #导入环境变量,立即生效
二十、生成环境变量(附加题,随机出一题)
生成一个环境变量rhcsa,用户在使用这个变量时输出一句话"This is RHCSA!"
- vim .bashrc #编辑环境变量
export rhcsa='This is RHCSA' #注意格式
自定义一个命令rhce,用户在使用这个变量时输出一句话"This is RHCE!"
- vim .bashrc #编辑环境变量
alias rhce="echo 'This is RHCE'" #注意格式
- source ~/.bashrc #导入环境变量,立即生效
- echo $rhcsa #验证结果
- rhcsa
在 node2 上执行以下任务
一、破解root密码
- 重启node2服务器,在内核界面按e编辑
- 添加内核参数
- 在linux这行末尾添加:rd.break console=tty0
- 然后使用Ctrl+X启动系统
- 挂载真实根,修改密码,设置重新标记文件
- mount -o remount,rw /sysroot #mount挂载根/sysroot目录
- chroot /sysroot #改变至根真实目录
- passwd root #passwd设置密码
- touch /.autorelabel #Selinux重新标记文件
- exit #退出
- exit #重启机器
二、配置您的系统以使用默认存储库
- 参考node1仓库设置
- vi /etc/yum.repos.d/server.repo #配置yum仓库文件
三、调整逻辑卷大小
- df -Th #查看当前卷组信息
- lvs
- lvdisplay
- vgs #查看卷组
- lvextend -L 230M /dev/myvol/vo #拓展逻辑空间
- resize2fs /dev/mapper/myvol-vo #文件系统同步
四、添加交换分区
- fdisk -l #查看硬盘剩余空间
- lsblk #查看硬盘使用情况
- free -h #查看当前交换分区大小
- fdisk /dev/vdb #进入vbd硬盘
- n #添加新分区
- 默认,回车 #分区号
- 默认,回车 #分区开始扇区
- +756M,回车 #添加760M
- w #保存分区并退出
- mkswap /dev/vdb2 #格式化添加的swap分区
- vi /etc/fstab #写入配置文件
- swapon -a #挂载swap新分区
五、创建逻辑卷
- fdisk /dev/vdb #分区
- pvcreate /dev/vdb3 #创建物理卷
- vgcreate qagroup -s 16M /dev/vdb3 #创建卷组
- vgdisplay #查看当前VG卷信息
- lvcreate -n qa -l 60 /dev/qagroup #创建逻辑卷,名称qa
- mkfs.ext3 /dev/qagroup/qa #格式化qa分区
- mkdir qa #创建挂载目录
- vi /etc/fstab #写入配置文件
- mount -o #加载挂载的分区
六、创建 VDO 卷
- yum list vdo #查看vdo安装包
- yum search vdo #搜索vod需要的安装包
- yum install vdo kmod-kvdo #安装vdo、kmod-kvdo,管理工具和内核模块
- man vdo |grep \# #查看帮助
- vdo create --name=vdough --device=/dev/vdc --vdologicalSize=50G
- udevadm settle #注册新的vdo卷和磁盘关联
- mkfs.xfs -K /dev/mapper/vdough #用xfs格式格式化分区
- mkdir /vbread #创建挂载目录
- vi /etc/fstab #编辑fstab文件
- /dev/mapper/vdough /vbread xfs defaults,_netdev 1 2 #添加挂载信息,不要忘记_netdev
- mount -a #重新加载分区
七、配置系统调优
- systemctl status tuned #查看tuned状态
- systemctl restart tuned #重启tuned
- systemctl enable tuned #开机启动tuned
- tuned-adm active #查看当前系统调优配置文件
- tuned-adm recommend #查看系统建议的配置文件
- tuned-adm profile virtual-guest #改动系统的调优配置为virtual-guest
- tuned-adm list #查看系统所有调优的配置文件