rhcsa个人学习笔记

一、配置网卡
cd /etc/sysconfig/network-scripts 进入网卡文件夹
vim ifcfg-eth0 修改网卡配置
ipaddr=172.25.250.10
netmask=255.255.255.0
gateway=172.25.250.254
dns=172.25.250.254

systemctl restart NetworkManager
ifdown eth0; 关闭网卡
ifup eth0; 启动网卡
二、配置yum源
cd /etc/yum.repos.d yum源创建
vim redhat.repo
[Baseos]
name=Baseos
baseurl=http://content.example.com/rhel8.2/x86_64/dvd/BaseOS
gpgcheck=0
enabled=1
[AppStream]
name=AppStream
baseurl=http://content.example.com/rhel8.2/x86_64/dvd/AppStream
gpgcheck=0
enabled=1
yum clean all
yum list all
yum -y install vim

三、调试selinux
配置httpd在82端口上提供web服务,满足以下要求:
1)在/var/www/html/下不要改动现有文件
2)此web服务器在系统启动时自动启动
3)确保selinux保护机制运行在enfiorcing模式
解答:
systemctl restart httpd
systemctl enable httpd
systemctl status httpd
此刻httpd的服务是可以启动的

进入到httpd的配置文件,将监听端口改为82,改后服务会dead。
vim /etc/httpd/conf/httpd.conf
listen 82
查看允许httpd所使用的端口有哪些
semanage port -l | grep http
…80,81,443,8443等
设置允许httpd使用端口82
semanage port -a -t http_port_t -p tcp 82
解释:-a 为添加,-t 为类型,-p 为端口

配置防火墙放通tcp82端口(man firewall-cmd | grep add,查看最后一行)
firewall-cmd --add-port=82/tcp --permanent
firewall-cmd --reload(重新加载reload)

设置文件的content值
man semanage fcontext | grep #
semanage查询与修改selinux的,fcontext主要用在安全上下文的方面
semanage fcontext -m -t httpd_sys_content_t /var/www/html/file1(进行修改content值)
semanage fcontext -a -t httpd_sys_content_t /var/www/html/file1(进行添加content值)
restorecon -v /var/www/html (恢复文件content值)
netstat -tulnp | grep httpd

semanage主要参数
-a: 添加
-d: 删除
-m: 修改
-l: 列出
-f: 文件
-s: 用户
-t: 类型
-r: 角色

添加用-a,指定类型-t http_port_t,端口号-p 82;
修改文件content使用-m,并指定类型-t
添加文件content使用-a,并指定类型-t
防火墙:
firewall-cmd --add-port=80/tcp 添加端口:端口/通讯协议
firewall-cmd --permanent //永久生效

四、创建用户账户
根据下列要求创建用户及组账号:
1)名为admins的组
groupadd admins
2)用户harry,其附属组为admins
useradd -G admins harry
3)用户natasha,其附属组还属于admins
useradd -G admins natasha
4)用户alice,没有可交互的登陆shell,且不属于admins组
useradd -s /bin/flase alice
5)harry、natashsa、alice的密码都应该是redhat
for i in harry natasha alice do
echo “redhat” | password --stdin $i
done

五、配置cron计划任务
配置计划任务,以用户harry的身份每天14:23分执行一次命令echo hello
systemctl status crond
crontab -u harry -e
23 14 * * * echo hello
crontab -u harry -l

cat /var/log/messages

六、创建共享目录
创建具有以下特点的共享目录:
1)/home/tools的所有组是admins
2)此目录能被admins组的成员读写和访问,其他用户没有权限
3)在此目录下创建的文件,其组的所有权自动设置为admins组
解答:
mkdir /home/tools
chgrp admins /home/tools (chown -R .admins /home/tools)
chmod 770 /home/tools (chmod g+w,o-rwx /home/tools)
chmod g+s /home/tools 新建的文件自动属于admins组

touch /home/tools/file01
ls -al

七、配置NTP时间客户端
配置你的系统,使其成为classroo.example.com的NTP客户端
systemctl restart chronyd
systemctl enable chronyd
vim /etc/chrony.conf
server classroom.example.com iburst(选择能通过的时间服务器,其余防火墙可能会拦截)
systemctl status chronyd
hwlock -w 写入bios中
chronyc sources 查看同步时间服务器

八、auto自动挂载
按照以下要求,在servera上配置autofs自动挂载:
1)serverb通过NFS共享目录/rhome到你的系统,此文件系统中包含用户ldapuser0预配置的家目录
2)预设用户ldapuser0的家目录应自动挂载到本地的/rhome/ldapuser0目录
3)预设用户ldapuser0的家目录是serverb.lab.example.com:/rhome/ldapuser0
4)预设用户ldapuser0的家目录应自动挂载到本地的/rhome/ldapuser0目录
5)挂载后的家目录必须可读写

九、配置文件权限
将文件/etc/fstab复制到/var/tmp/,并按要求配置/var/tmp/fstab的权限:
1)文件/var/tmp/fatab属于root用户
2)文件/var/tmp/fatab属于root组
3)任何用户对/var/tmp/fatab都没有可执行权限
4)用户harry,natasha能够读取和写入/var/tmp/fstab文件
解答:
解释:setfacl设置文件的访问控制列表(man setfacl 查看example)
参数:-m 更改文件访问控制列表
cp /etc/fatab /var/tmp/
ll /var/tmp/fstab
setfacl -m u:harry:rw- /var/tmp/fstab
setfacl -m u:natasha:— /var/tmp/fstab
getfacl /var/tmp/fstab 查看文件的访问控制列表

十、配置用户账户
创建用户tammy,用户id为2020,密码为redhat
useradd -u 2020
echo “redhat” | passwd --stdin tammy

十一、查找文件
请把系统上拥有者为tammy用户的所有文件,并将其拷贝到/root/findfiles目录中
mkdir /root/findfiles
find / -user tammy -exec cp -a {} /root/findfiles/ ;
-user用来匹配所属用户
-exec后面可继续接其他命令,{}代表前面查找的数据,但是必须以 ; 结尾

十二、查找字符串
找出文件/etc/man_db.conf中包含字符串sbin的所有行,将其按原始顺序导入到文件/root/out.txt中,文件/root/out.txt中不得包含空行。
解答:
cat /etc/man_db.conf | grep -v ^$ | grep “sbin” > /root/out.txt
或者
grep sbin /etc/man_db.conf | grep -v ^$ > /root/out.txt
解释:
-v参数为排除的意思
^代表行首,$代表行尾,^$代表空行
^#代表行首为#,一般为注释行

十三、创建归档
创建一个名为/root/backup.tar.bz2的tar归档,其应该包含/usr/local的内容,此归档文件必须使用bzip2进行压缩
tar -cjfv /root/backup.tar.bz2 /usr/local/
file backup.tar.bz2
解释:
tar参数:c压缩,x解压,z格式gzip,j格式bzip,v显示解压过程,f文件名

十四、配置sudo提权
允许admins组的成员可以以root的身份执行任何命令,并且不需要密码
vim /etc/sudoers
%admin ALL=(root) NOPPASSWD:ALL
或者
visudo
%admin ALL=(root) NOPPASSWD:ALL

十五、默认密码策略
vim /etc/login.defs
PASS_MAX_DAYS 20
useradd user1(测试)
cat /etc/shadow

change -l harry

十六、配置umask值
设置natasha用户创建的目录权限默认为733,文件权限为622,要求永久生效
su - natasha
vim .bashrc
umask 044
source .bashrc 立刻加载修改后的设置,使之生效
umask计算:目录:777-733=044
文件:666-622=044
十七、创建脚本查找文件
创建一个名为myresearch的脚本
该脚本放置在/usr/bin下
该脚本用来查找/usr下所有小于10M且具有修改SGID权限的文件,将这些文件放置于/root/myfiles下
解答:
#!/bin/bash
######find /usr -size -10M -perm -2000 -type f > /root/findfiles
cp -a `find /usr -size -10M -perm -2000` /root/findfiles

创建一个名为newsearch的脚本
该脚本用来查找/usr下所有大于30K,但小于50K且具有SUID权限的文件,将这些文件放置于/root/newfiles下
find /usr -size +30K -50K -perm -2000 -type f > /root/newfiles
十八、容器
注册服务器信息
注册服务器地址:registry.domain250.wxample.com
使用admin作为用户名,使用redhat321作为镜像注册表的凭据
(A卷题1)
1、配置容器使其自动启动
利用注册服务器上的rsyslog镜像,创建一个名为logserver的容器
面向wallah用户,配置一个systemd服务
该服务命名为container-logserver,并在系统重启时自动启动,无需手动干预
ssh wallah@localhost #登录wallah用户
podman login registry.domain250.example.com #登录注册服务器,输入用户名密码
admin/redhat321
podman search registry.domain250.example.com/ #查看注册服务器有哪些镜像,搜索镜像

podman run参数:
-d:后台运行
–name:容器名称
-p:容器端口(三种书写方式)
ip:主机端口:容器端口
主机端口:容器端口
容器端口
-P:随机端口
-v:将主机的目录或文件挂在到容器
podman run -d --name logserver -v /home/wallah/container_logfile:/var/log/journal:Z registry.domain250.exa
mple.com/rhel8/rsyslog

强制让普通用户的服务在服务器启动时启动
loginctl enable-linger wallah 强制让普通用户wallah的服务在服务器启动时启动
loginctl show-user wallah 查看是否配置成功

并不是通过systemd来管理podman这个程序的start、stop等;而是让systemd管理某个容器的启动、停止等
可以通过systemctl start | status | stop 管理Podman容器,可以实现某个容器在开机时自启动

运行systemctl的两种模式
–system 系统级别(默认的级别)
–user 用户级别
用户级别的systemd目录(通过systemd目录下的unit文件来管理容器)
~/.config/systemd/user/ 优先级高
/usr/lib/systemd/user/ 优先级低

man systemd.unit | grep user 查找要创建的文件夹
~/.config/systemd/user/*

mkdir -p ~/.config/systemd/user #创建目录,并在目录下生成unit文件(根据正在运行的容器进行生成)
然后基于普通用户按照systemctl的服务方式创建unit文件
podman generate systemd --name logserver --files --new
–name 要加入的应容器名称,并用此名称来命名unit文件
–files 在当前目录生成unit文件(即:container-httpd-test.service文件,服务名就为container-httpd-test.service)
–new 新生成
podman stop logserver #停掉正在运行的容器,设置容器通过systemd方式自启动
systemctl --user enable container-logserver.service
systemctl --user start container-logserver.service

(A卷题2)
为容器配置持久存储
通过以下方式扩展上一个任务的服务
配置主机系统的journald日志以在系统重启后保留数据,并重启启动日志记录服务
将主机/var/log/journal目录下任何以*.journal的文件复制到/home/wallah/container_logfile中
将服务配置为在启动时自动将/home/wallah/container_logfile挂载到容器中的/var/log/journal下
解答:
mkdir /var/log/journal
ls -ldZ /run/log/journal

chown root:systemd_journal /var/log/journal
chmod 2755 /var/log/journal
systemctl restart systemd-journald
ll /var/log/journal

cp /var/log/journal/*/*.journal /home/wallah/container_logfile
chown -R wallah:wallah ~wallah

B卷
1、配置容器使其自动启动
利用注册服务器上的rsyslog镜像,创建一个名为logger的容器,面向wallah用户,配置一个systemd服务
该服务命名为container-logger,并在系统重启时自动启动,无需手动干预
将服务配置为在启动时自动将/home/wallah/var_log挂载到容器中的/var/log下
在容器中执行命令podman exec logger logger -p authpriv.info SUIBIAN

podman run -d --name logger -v /home/wallah/var_log:/var/log:Z registry.domain250.example.com/rhel8/rsyslog
loginctl enable-linger wallah
cd ~/.config/systemd/user
podman generate systemd -f -n logger
podman exec logger logger -p authpriv.info SUIBIAN
podman stop logger

systemctl --user enable container-logger.service

podman run -d --name httpserver -p 8088:80 -v /home/greg/webdev/:/usr/local/apache2/htdocs/webdev:Z httpd

podman generate systemd --name httpserver --files --new
systemctl --user enable container-httpserver.service

node2
一、重置root密码
将node2主机的root密码设置成flectrag
按e,rd.break console=tty0
按ctrl+x,
mount -o rw,remount /sysroot
chroot /sysroot
echo “flectrag” | passwd --stdin root
touch /.autorelabel

二、创建逻辑卷并调整大小
fdisk -l
fdisk /dev/sdb
n
p

+2G
w

pvcreate /dev/sdb1
vgcreate testvg /dev/sdb1
lvcreate -n testlvm -L 200M /dev/testvg(大写L为指定大小,小写l为指定数量)
mkfs.ext4 /dev/testvg/testlvm(格式化为ext4)
vim /etc/fstab
/dev/testvg/testlvm /mnt/guazai ext4 defaults 0 0(写入启动时自动挂载)
mount -a
lvextend -L 300M /dev/testvg/testlvm(调整大小为300,用大写L)
resize2fs /dev/testvg/testlvm(同步容量到内核)

三、创建逻辑卷,设置卷组的扩展快大小
fdisk -l
fdisk /dev/sdb
n
p

+300M
w

pvcreate /dev/sdb2
vgcreate testvg1 -s 16M /dev/sdb2(-s一个卷组的大小)
lvcreate -n testlvm1 -l 60 /dev/testvg1/testlvm1(大写L为指定大小,小写l为指定数量,16x60=960M)
mkfs.ext3 /dev/testvg1/testlvm1
vim /etc/fstab
/dev/testvg1/testlvm1 /mnt/guazai1 ext3 defaults 0 0
mount -a

四、添加交换分区
fdisk /dev/sdb
n
p

+756M
w
mkswap /dev/sdb3(格式化为交换分区)
vim /etc/fstab
/dev/sdb3 none swap defaults 0 0
swapon -a(硬盘挂载mount -a,交换分区挂载swapon -a)
free -h

五、添加vdo
yum -y install vdo
vdo create -n myvdo --device /dev/vdc --vdoLogicalSize 50
mkfs.xfs /dev/mapper/myvdo

六、配置系统调优
tuned-adm profile
查看所有配置文件。
tuned-adm profile throughput-performance
tuned-adm active

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值