学习直通车:https://edu.51cto.com/sd/62cbf
echo "名字的拼音-手机号后4位" > ~/wait-grade && tail -f ~/grade.txt 等待10分钟左右会自动开启评分,评分的结果在~/grade.txt/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退出
bash# 修改主机名
hostnamectl set-hostname system1.domain10.example.com
# 验证
hostnamectl
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
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
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
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
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
bash# 1. 修改配置文件
vim /etc/chrony.conf
## 添加配置
server host.domain10.example.com iburst
# 2. 重新启动chronyd并设置开机启动(chronyc -n sources 检测是否同步)
systemctl restart chronyd
systemctl enable chronyd
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
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
bash# 配置ID为3388的用户user2,并设置密码为123
useradd user2 -u 3388
echo 123 | passwd --stdin user2
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
bash# 将/usr/share/rhel.xml中包含re的行按照顺序存放到/root/files中
grep re /usr/share/rhel.xml > /root/files
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
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
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
创建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
使用未分区的磁盘
卷的名称为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
bash# 查看可调优的种类:tuned-adm list
# 1. 获取系统建议的调优方式
tuned-adm recommend
# 2. 进行系统调优(查看:tuned-adm list)
tuned-adm profile [建议的调优方式]
注意:
- 如果没有/var/log/journal目录的情况
bash# 修改/etc/systemd/journald.conf Storage=persistent # 然后重启 systemctl restart systemd-journald
- 需要使用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/
- 修改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
bash# 设置用户glsgread密码的最小有效期为7天,最大为120天
chage -m 7 -M 120 glsgread
bash# 编辑 /etc/sudoers 添加代码
glsgood ALL=(ALL) NOPASSWD: ALL
本文作者:wucc
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-SA 许可协议。转载请注明出处!