2023-06-14
操作系统
0

目录

备考注意事项
1. root密码破解
2. 修改主机名
3. 网络配置
4. 调试selinux
5. 配置用户、用户组及密码
6. 创建计划任务(cron)
7. 创建写作目录
8. NTP客户端设置(chrony)
9. 配置autofs
10. 配置文件权限
11. 配置用户账户
12. 查找文件
13. 查找字符串
14. 创建存档
15. 调整逻辑卷
16. 添加交换分区
17. 创建逻辑卷
18. 创建VDO卷
19. 配置系统调优(tuned-adm)
20. 配置容器并自启动、给容器配置持久化(两题一起解)
23. 配置超级用户

备考注意事项

学习直通车:https://edu.51cto.com/sd/62cbf

  1. 备考环境需45天内刷好题达到约考要求,超过45天的移除备考环境,等待2个月后再申请。
  2. 需要达到3次双满分才能报考
  3. 自动评分,在备考物理机上echo "名字的拼音-手机号后4位" > ~/wait-grade && tail -f ~/grade.txt 等待10分钟左右会自动开启评分,评分的结果在~/grade.txt/
  4. 评分结束后30分钟环境会自动重置
  5. 不要在凌晨4点-5点练习
  6. 提交练习成绩:https://doc.weixin.qq.com/forms/ABUAngfnAAkAKEA7QZFAMAsV6hzi9bTzf

1. root密码破解

bash
# 1. 开机启动界面按 e 进入boot命令 # 2. 找到linux这一行,在行尾加上 console=tty0 rd.break # 3. 按 chtrl+x 保存退出 # 4. 进入 switch_root 界面后,先进行重新挂载 mount -orw,remount /sysroot # 5. 切换目录 chroot /sysroot # 6. 修改密码 echo 123 | passwd --stdin root # 7. 重新打标签 touch /.autorelabel # 8. exit退出、exit退出

2. 修改主机名

bash
# 修改主机名 hostnamectl set-hostname system1.domain10.example.com # 验证 hostnamectl

3. 网络配置

bash
# 方法1:直接修改 ## 修改配置 nmcli con modify "Wired connection 1" ipv4.addresses 172.24.10.150/24 ipv4.gateway 172.24.10.100 ipv4.dns 172.24.10.250 ipv4.method manual connection.autoconnect yes ## 激活配置 nmcli con up "Wired connection 1" # 方法2:新增配置 ## 新增配置 nmcli con add con-name rhcsa8 ifname eth0 type ethernet ipv4.addresses 172.24.10.150/24 ipv4.gateway 172.24.10.100 ipv4.dns 172.24.10.250 ipv4.method manual connection.autoconnect yes ## 激活配置 nmcli con up rhcsa8

4. 调试selinux

bash
# 1. 修改配置文件 ## 进入配置文件,修改SELINUX=enforcing vi /etc/selinux/config ## 立刻生效,可以用getenforce查看结果 setenforce 1 # 2. 安装semanage软件包(使用 ‘yum provides semanage’ 查看哪个软件包提供semanage命令) yum -y install policycoreutils-python-utils # 3. 配置web根目录的上安全上下文(查看安全上下文:ls -Z /var/www/html/ -d) semanage fcontext -a -t httpd_sys_content_t "/var/www/html(/.*)?" # 4. 进行手动生效 restorecon -RvF /var/www/html/ - # 5. 配置selinux的安全端口(查看端口: semanage port -l | grep http_port_t) semanage port -a -t http_port_t -p tcp 82 # 6. 重启httpd服务,并设置下次开机启动 systemctl restart httpd systemctl enable httpd # 7. 放行82端口(firewall-cmd --list-ports 查看防火墙放行端口) ## 临时放行 firewall-cmd --add-port=82/tcp ## 永久放行 firewall-cmd --add-port=82/tcp --per

5. 配置用户、用户组及密码

bash
# 1. 创建组 groupadd sysmgrs -g 3000 # 2. 创建用户natasha、harry 并从属sysmgrs组 useradd -G sysmgrs natasha useradd -G sysmgrs harry # 3. 创建用户sarah 无权限访问系统上的交互shell useradd sarah -s /sbin/nologin # 4. 设置密码 echo 123 | passwd --stdin natasha echo 123 | passwd --stdin harry echo 123 | passwd --stdin sarah

6. 创建计划任务(cron)

bash
# 1. 以natasha身份每隔5分钟执行命令“logger "EX200 in progress"” ## 可以使用 crontab -l -u natasha 查看natasha用户的任务计划 crontab -e -u natasha */5 * * * * logger "EX200 in progress" # 2. 价差cron服务是否正常运行 systemctl is-enabled crond systemctl is-active crond

7. 创建写作目录

bash
# 创建写作目录 mkdir /home/managers # 设置所属组是sysmgrs chgrp sysmgrs /home/managers # 设置组成员读、写操作,其他人没有权限(ls -ld /home/managers 查看设置权限) ## 解法1 chmod g=rwx, o=--- /home/managers # 创建的文件自动设置组sysmgrs权限 chmod g+s /home/managers ## 解法2 chmod 2770 /home/managers

8. NTP客户端设置(chrony)

bash
# 1. 修改配置文件 vim /etc/chrony.conf ## 添加配置 server host.domain10.example.com iburst # 2. 重新启动chronyd并设置开机启动(chronyc -n sources 检测是否同步) systemctl restart chronyd systemctl enable chronyd

9. 配置autofs

bash
# 1. 安装nfs-utils和autofs yum -y install nfs-utils yum -y install autofs # 2. 修改/etc/auto.master配置文件,添加下边代码 ## 让rhel的autofs住目录根据/etc/auto.user1的配置文件进行自动挂载 /rhel /etc/auto.user1 # 3. 创建/etc/auto.user1并加入代码 vim /etc/auto.user1 ## 挂载点是user1, 以读写的形式挂载,挂载的文件系统是host.domain10.example.com提供的nfs共享共享目录是/rhel/user1 user1 -rw host.domain10.example.com:/rhel/user1 # 4. 重启autofs(ls /rhel 进行验证) systemctl restart autofs # 5. 切换用user1(df -TH /rhel/user1进行验证) su - user1 df -Th /rhel/user1

10. 配置文件权限

bash
# 1. 复制文件并设置拥有人和所属组为root cp /etc/fstab /var/tmp/fstab chown root:root /var/tmp/fstab # 2. 设置任何人没有执行权限 chmod a-x /var/tmp/fstab # 3. 设置natasha拥有读写权限 setfacl -m u:natasha:rw /var/tmp/fstab # 4. 设置nharry没有读写权限 setfacl -m u:harry:--- /var/tmp/fstab # 5. 设置所有其他用户拥有读取权限 chmod o=r-- /var/tmp/fstab

11. 配置用户账户

bash
# 配置ID为3388的用户user2,并设置密码为123 useradd user2 -u 3388 echo 123 | passwd --stdin user2

12. 查找文件

bash
# 1. 查找拥有者是user3的所有文件拷贝到/root/dfiles目录 mkdir /root/dfiles find / -user user3 -exec cp -a {} /root/dfiles \; # 2. 在/usr/bin目录下创建repwis脚本 vim /usr/bin/repwis #!/bin/bash ##将查找/usr目录下的所有文件并将文件名字记录在/root/myfiles/file-file1.txt中,文件大小3M小于5M,且文件有setgid特殊权限 find /usr/ -perm /g+s -size +3M -size -5M > /root/myfiles/file-file1.txt ## 将查找/usr目录下的所有文件并将文件名字记录在/root/myfiles/file-file2.txt中,文件大小30k小于50k,且文件有setuid特殊权限 find /usr/ -perm /u+s -size +30k -size -50k > /root/myfiles/file-file2.txt

13. 查找字符串

bash
# 将/usr/share/rhel.xml中包含re的行按照顺序存放到/root/files中 grep re /usr/share/rhel.xml > /root/files

14. 创建存档

bash
# 1. 将/usr/local使用gzip的方式存档到/root/books.tar.gz tar -zcvf books.tar.gz /usr/local # 2. 将/usr/local使用bzip2的方式存档到/root/books.tar.bz2 ## 如果无法打包可能是bzip2未安装 tar -cjvf /root/books.tar.bz2 /usr/local

15. 调整逻辑卷

bash
# 将逻辑卷vo及其文件系统的大小调整到180MB(查看逻辑卷情况:lvs 查看卷组情况:vgs) # 1. ext4扩容 lvextend /dev/vg-exam/vo1 -L 180MB ## 查看大小是否有变化 df -Th /mnt/vo1 ## 动态调整大小 resize2fs /dev/vg-exam/vo1 # 2. xfs扩容 lvextend /dev/vg-exam/vo2 -L 180MB ## 查看大小是否有变化 df -Th /mnt/vo2 ## 动态调整大小 xfs_growfs /mnt/vo2

16. 添加交换分区

bash
# 1. 添加交换分区大小567MiB,启动时自动挂载(free -m 查看交换分区大小) ## 进入分区设置后 n:创建 w:保存退出。创建后,会在/dev/中添加vdb2的分区 fdisk /dev/vdb ## 刷新分区表 partprobe # 2. 格式化分区(分区后或现实UUID,UUID用于挂在) mkswap /dev/vdb2 # 3. 永久挂载 ## 编辑/etc/fstab添加配置 UUID=xxxxxxxxxx swap swap defaults 00 # 4. 立刻生效挂载(验证:free -m) swapon -a

17. 创建逻辑卷

创建np的逻辑卷大小为45个扩展快,属于npgroup卷组

npgroup卷组中逻辑卷的扩展块大小为20M

使用ext3文件系统格式化新逻辑卷,该逻辑卷在系统启动时自动挂在到/mnt/np下

bash
# 1. 磁盘分区(查看磁盘:ls /dev/vd*) ## 进入分区设置后 n:创建 w:保存退出。创建后,会在/dev/中添加vdb2的分区 fdisk /dev/vdb ## 刷新分区表 partprobe # 2. 创建物理卷(查看物理卷:pvs) pvcreate /dev/vdb3 # 3. 创建卷组(查看卷组:vgs) vgcreate -s 20M npgroup /dev/vdb3 # 4. 创建逻辑卷(查看逻辑卷:lvs) lvcreate -n np -l 45 npgroup # 5. 格式化 mkfs.ext3 /dev/npgroup/np # 6. 永久挂载 (查看系统情况:lsblk) ## 创建挂载点 mkdir /mnt/np ## 永久挂载(编辑/etc/fstab添加配置) /dev/npgroup/np /mnt/np ext3 defaults 0 0 ## 立刻生效挂载(验证:free -m) swapon -a

18. 创建VDO卷

使用未分区的磁盘

卷的名称为vdoname

卷的逻辑大小为80G

卷使用xfs文件系统格式化

卷挂在到/vbark下

bash
# 1. 安装vdo的软件 yum -y install vdo # 2. 常见vdo卷 vdo create --name=vdoname --device=/dev/vdc --vdoLogicalSize=80G # 3. 格式化vdo卷 mkfs.xfs /dev/mapper/vdoname # 4. 永久挂在 ## 创建挂在点 mkdir /vbark ## 永久挂载(编辑/etc/fstab添加配置) /dev/mapper/vdoname /vbark xfs _netdev 1 2 ## 立刻生效挂载(验证:free -m) mount -a

19. 配置系统调优(tuned-adm)

bash
# 查看可调优的种类:tuned-adm list # 1. 获取系统建议的调优方式 tuned-adm recommend # 2. 进行系统调优(查看:tuned-adm list) tuned-adm profile [建议的调优方式]

20. 配置容器并自启动、给容器配置持久化(两题一起解)

注意:

  1. 如果没有/var/log/journal目录的情况
bash
# 修改/etc/systemd/journald.conf Storage=persistent # 然后重启 systemctl restart systemd-journald
  1. 需要使用root用户进行文件拷贝
bash
# 将/var/log/journal下的.journal 拷贝到/home/elovodo/container_journal/目录下 find /var/log/journal/ -name "*.journal" -exec cp -a {} /home/elovodo/container_journal/ \; # 修改文件拥有人 chown -R elovodo:elovode /home/elovodo/container_journal/
  1. 修改ymask,让elovodo用户创建普通文件的权限为rw-------,让普通用户的权限为rwx------
bash
# 修改~/.bashrc umask 0077
bash
# 1. 必须要以elovodo用u登录 ssh dlovodo@systemctl # 2. 登录容器的镜像仓库(用户:gls 密码:glshxwyz) podman login utility.example.com:5000 # 3. 拉取镜像 podman pull http://utility.example.com:5000/rlogserver # 4. 将考试要求的文件拷贝到指定目录中作为容器的持久性挂在存储 cp -a /var/log/journal/* container_journal/ cp -a /var/log/journal/.[!.]* container_journal/ # 5. 运行容器,结尾的:Z必须要加(这是为了让容器自动解决SELinux的权限问题) (-itd 中 i:交互式命令模式运行 t:开启终端 d:作为后台运行) podman run -itd -v /home/elovodo/container_journal:/var/log/journal:Z --name container_logserver utility.example.com:5000/rlogserver ## 验证(查看容器运行情况:podman ps) ### 进到容器 podman exec -it container_logserver bash ls /var/log/journal/ -a # 7. 创建普通用户的systemd服务器配置文件目录 mkdir ~/.config/systemd/user -p cd ~/.config/systemd/user # 8. 使用podman命令自动生成podman容器服务文件 podman generate systemd --new --files --name container_logserver # 9. 将容器服务文件的名字改成题目上要求的名字 mv container-container_logserver.service container_logserver.service # 10. 停止容器,然后删除容器 podman stop container_logserver podman rm container_logserver # 11. 开启普通用户使用systemd管理自己服务的权限 loginctl enable-linger # 12. 加载新的服务文件 systemctl --user daemon-reload # 13. 设置容器服务文件下次开机启动, --now参数表示立刻启动 systemctl --user enable container_logserver --now # 14. 查看服务的状态 systemctl --user status container_logserver

22. 修改密码有效期

bash
# 设置用户glsgread密码的最小有效期为7天,最大为120天 chage -m 7 -M 120 glsgread

23. 配置超级用户

bash
# 编辑 /etc/sudoers 添加代码 glsgood ALL=(ALL) NOPASSWD: ALL

本文作者:wucc

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-SA 许可协议。转载请注明出处!