RHCSA部分习题

1. sestatus

[none@localhost ~]$ sestatus
SELinux status:                 enabled
SELinuxfs mount:                /sys/fs/selinux
SELinux root directory:         /etc/selinux
Loaded policy name:             targeted
Current mode:                   enforcing
Mode from config file:          enforcing
Policy MLS status:              enabled
Policy deny_unknown status:     allowed
Memory protection checking:     actual (secure)
Max kernel policy version:      33

2. virt

sudo yum install virt-install
sudo yum install libvirt
sudo yum -y install qemu-kvm
virt-install --osinfo list
systemctl start libvirtd
systemctl enbale libvirtd
sudo yum install -y virt-manager

3. /etc/fstab举例

挂载NFS共享
192.168.1.100:/share /mnt/nfs nfs defaults,soft,intr 0 0

4. nmcli配置网络,配置主机名hostnamectl set-hostname xxx

列出所有设备
nmcli device status
查看活动链接详情
nmcli connnection show --active
检查接口IP设置
nmcli device show eth0

5. 配置ssh服务,/etc/ssh/sshd_config一定要熟悉

PermitRootLogin 禁止root直接登录
PasswordAuthentication 禁止密码登录(强制密钥认证)
PermitEmptyPasswords 禁止空密码登录
AllowUsers 仅允许特定用户登录
AllowGroups 仅允许特定用户组登录
DenyUsers 禁止特定用户登录
MaxAuthTries 限制认证尝试次数
ListenAddress 192.168.1.100 限制IP访问

6. 配置yum源,redhat9开始主推dnf命令,dnf config-manager

yum repolist all
ls /etc/yum.repos.d/
sudo vim /etc/yum.repos.d/nginx.repo
yum repolist
yum search <包名>

7. 调试SELinux: 配置上下文,配置端口的标签

8. 系统服务管理(systemctl)

systemctl start <服务名>
systemctl stop <服务名>
systemctl restart <服务名>
systemctl reload <服务名> # 重新加载配置,不重启
systemctl status <服务名>
systemctl enbale <服务名> # 启用开机自启动
systemctl disable <服务名> # 禁用开机自启动
systemctl is-enabled <服务名> # 检查是否启用自启动
systemctl list-units --type=service # 列出所有已加载服务(包括运行/停止的)
systemctl list-unit-files --type=service # 列出所有可用服务(包括未运行的)
systemctl list-units --type=service --state=running # 查看运行中的服务
systemctl kill -s KILL <服务名> # 强制终止服务
systemctl list-dependencies <服务名> # 查看依赖关系
systemctl edit <服务名> # 编辑服务配置(会生成覆盖文件)
systemctl daemon-reload # 保存后需要重新加载systemd
journalctl -u <服务名> # 查看日志
journalctl -f -u <服务名> # 查看实时跟踪日志

9. 防火墙管理, firewall-cmd

临时开放端口(重启后失效)
sudo firewall-cmd --add-port=8080/tcp
永久开放端口
sudo firewall-cmd --add-port=8080/tcp --permanent
关闭端口
sudo firewall-cmd --remove-port=8080/tcp --permanent
重新加载配置
sudo firewall-cmd --reload

10. 用户和组管理,指定一个用户不登录,创建一个组,创建一个用户添加到组

禁止一个已存在用户登录系统
sudo usermod --expiredate 1 <用户名>
锁定用户账户
sudo usermod --lock <用户名>
或修改用户的shell为不可登录的shell
sudo usermod --shell /sbin/nologin <用户名>
创建一个新组
sudo groupadd <组名>
创建新用户并添加到组
sudo useradd -m -G <组名> <用户名>
查看用户所属组
groups <用户名>
查看组中的用户
getent group <组名>

11. 设置密码 passwd

11.1 修改当前用户密码

passwd

11.2 修改其他用户密码,需root权限

sudo passwd username

11.3 强制用户下次登录时修改密码

sudo passwd --expire username

11.4 密码复杂度要求

Linux默认检查密码的复杂度配置/etc/pam.d/passwd

11.5 重要文件

用户密码哈希存储在/etc/shadow,仅root可读
用户信息在/etc/passwd

11.6 注意事项

锁定账户:sudo passwd -l 用户名 锁定用户,禁止登录
查看密码状态:sudo passwd -S 用户名

12. 计划周期性任务,crontab

12.1 基本用法

编辑当前用户的crontab
crontab -e
查看当前用户的crontab
crontab -l
删除当前用户的crontab
crontab -r
/etc/crontab或/etc/cron.d/定义系统级任务,需root权限
sudo nano /etc/crontab
Ubuntu/Debian查看cron执行日志 grep CRON /var/log/syslog
CentOS/RHEL grep CRON /var/log/cron
调试 * * * * * /path/to/script.sh >> /tmp/cron.log 2>&1
cron默认不加载用户的环境变量,如PATH
检查系统时区 timedatectl
修改时区 sudo timedatectl set-timezone Asia/Shanghai

13. 权限、所有者、所属组、特殊权限的管理

chmod
chown
chgrp
chmod 4755 文件  # 设置SUID
chmod 2755 目录  # 设置SGID
chmod 1777 目录  # 设置Sticky Bit
umask

14. 维护系统精准时间 chronyd服务的配置

14.1 检查chronyd服务状态

systemctl status chronyd    #查看服务状态
chronyc tracking    #查看时间同步状态
chronyc sources -v  #查看时间源及其状态
chronyc sourcestats #显示时间源的统计信息
sudo systemctl enable --now chronyd
/etc/chrony.conf    #主配置文件
sudo chronyc makestep   #强制立即同步(跳过平滑调整)
sudo chronyc waitsync   #等待同步完成(超时默认3秒)
sudo firewall-cmd --add-service=ntp --permanent   #放行NTP(UDP 123端口)
sudo firewall-cmd --reload
journalctl -u chronyd   #检查chronyd日志

15. autofs服务的配置 重点和难点

autofs是Linux下按需挂载文件系统,比/etc/fstab的静态挂载更灵活、更高效
1) 工作原理
按需挂载: 访问挂载点时才触发挂载,长时间不用后自动卸载(节约资源)
依赖automount守护进程autofs.service
主配置文件: /etc/auto.master和/etc/auto.<subconfig>如/etc/auto.nfs
sudo systemctl enable --now autofs

16. 查找, find命令, 查找后并把相关的东西复制到文件目录里, -exec参数

17. 查找字符串,grep

18. 创建压缩包,tar,zip,unzip

// 如下比较重要

19. 重置root密码,必须熟练

19.1 进入GRUB菜单

重启系统
在启动时按任意键进入GRUB菜单

19.2 编辑启动参数

选择默认内核
按e键编辑
找到linux16行,将ro改为rw init=/sysroot/bin/sh

19.3 启动系统

按Ctrl+X启动

19.4 重置密码

chroot /sysroot
passwd root
touch /.autorelabel  # 对于 SELinux 系统
exit
reboot

20. 如何去调整逻辑卷的大小

扩展逻辑卷-确认当前空间
df -h
lsblk
sudo pvdisplay
sudo vgdisplay
sudo lvdisplay
扩展逻辑卷-VG有剩余空间
sudo lvextend -L +10G /dev/vg_namne/lv_name
sudo lvextend -l +100%FREE /dev/vg-name/lv_name
扩展逻辑卷-VG空间不足,需先扩展VG
sudo pvcreate /dev/sdX
sudo vgextend vg_name /dev/sdX
sudo lvextend -L +10G /dev/vg_name/lv_name
扩展逻辑卷-调整文件系统
EXT4文件系统
sudo resize2fs /dev/vg_name/lv_name
XFS文件系统
sudo xfs_growfs /mount_point
缩小逻辑卷,减少容量
步骤1:检查文件系统大小
df -h
步骤2:缩小文件系统(EXT4需卸载)
EXT4文件系统
sudo umount /mount_point #必须先卸载
sudo e2fsck -f /dev/vg_name/lv_name #强制检查文件系统
sudo resize2fs /dev/vg_name/lv_name 8G #将文件系统缩小到8G
sudo lvreduce -L 8G /dev/vg_name/lv_name # 再将LV缩小到8G
sudo mount /dev/vg_name/lv_name /mount #重新挂载
XFS文件系统
XFS 不支持缩小!需备份数据后重建LV。
步骤3:缩小逻辑卷
sudo lvreduce -L 8G /dev/vg_name/lv_name

21. 添加交换分区,前置如何分区,创建swap文件系统,挂载文件系统sbsk

22. 如何创建逻辑卷,如何分区,创建PV,创建VG,创建LV,创建文件系统,挂载,使用

23. 系统的调优 tuned

常用命令
sudo systemctl enbale --now tuned
tuned-adm list
tuned-adm avtive
tuned-adm profile <profile-name>
tuned-adm recommend
tuned-adm off

24. 附加题,随机题,答不对不影响通过,ps命令详细的内容,账户的有效期chage,修改配置文件改整体,sudo权限配置,别名alias,/etc/bashrc .bashrc区别,find查找多看看,默认权限(会计算)

25. 容器部分,a) 根据container file,生成对应的镜像,不需要自己写,需要下载给的文件,然后打镜像,b) 容器即服务,运行容器,-V :Z, p, -itd, --name c).容器管理命令,管理服务要加 --user的参数,d)做好还要做测试

posted @ 2025-06-08 10:34  Nameless_gb  阅读(25)  评论(0)    收藏  举报