RHCSA 模拟题

系统环境

系统 IP地址
node1.example.com 192.168.122.10
node2.example.com 192.168.122.20

在node1.example.com上执行以下任务

一、配置网络设置

将 node1 配置为具有以下⽹络配置:

1、主机名:node1.example.com

2、IP 地址:192.168.122.10

3、⼦⽹掩码:255.255.255.0

4、⽹关:192.168.122.1

5、名称服务器(dns):192.168.122.1

# 设置主机名
[root@localhost ~]# hostnamectl set-hostname node1.example.com
[root@localhost ~]# bash
[root@node1 ~]# 
# ⾸先使⽤ nmcli ⼯具查询当前的⽹络链接
[root@node1 ~]# nmcli connection show 
NAME    UUID                                  TYPE      DEVICE 
enp1s0  334c0e99-05e2-3aa6-aee6-b6abaa9e0437  ethernet  enp1s0 
[root@node1 ~]# 
# ⽹络连接的名称,记得使⽤ TAB 键补⻬,不要⼿敲,注意这是⼀条命令。
[root@node1 ~]# nmcli connection modify enp1s0 ipv4.addresses 192.168.122.10/24 ipv4.gateway 192.168.122.1 ipv4.dns 192.168.122.1 ipv4.method manual connection.autoconnect yes 
[root@node1 ~]# nmcli connection up enp1s0 
连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/3)
[root@node1 ~]# 
修改第40行
[root@node1 ~]# vim /etc/ssh/sshd_config
 39 #LoginGraceTime 2m
 40 PermitRootLogin yes   //该为yes
 41 #StrictModes yes
 42 #MaxAuthTries 6
 43 #MaxSessions 10
 [root@node1 ~]# systemctl  restart  sshd
 [root@node1 ~]# 

二、配置您的系统已使用默认存储库

配置您的系统以使⽤默认存储库: YUM 存储库可以从

http://ansible.example.com/rhel9/BaseOS

http://ansible.example.com/rhel9/AppStream使用配置您的系统,以将这 些位置作为默认存储库。

[root@node1 ~]# cd /etc/yum.repos.d/
[root@node1 yum.repos.d]# ls
redhat.repo
[root@node1 yum.repos.d]# rm -rf  *
[root@node1 yum.repos.d]# ls
[root@node1 yum.repos.d]# vim server.repo
[aa]
name=aa
baseurl=http://ansible.example.com/rhel9/BaseOS
enabled=1
gpgcheck=0
[bb]
name=bb
baseurl=http://ansible.example.com/rhel9/AppStream
enabled=1
gpgcheck=0
[root@node1 yum.repos.d]# yum -y install  net-tools.x86_64  //测试安装

三、调试SElinux

⾮标准端⼝ 82 上运⾏的 Web 服务器在提供内容时遇到问题。根据需要调试并解决 问题, 使其满⾜以下条件:

1、系统上的 Web 服务器能够提供 /var/www/html 中所有现有的 HTML ⽂件 (注:不要删除或以其他⽅式改动现有的⽂件内容)

2、Web 服务器在端⼝ 82 上提供此内容

3、Web 服务器在系统启动时⾃动启动

 #查看 httpd 服务的主配置⽂件,是否侦听 82 端⼝,如果侦听了,那么就不⽤管配置
⽂件,如果没有侦听,则把原先的端⼝改成侦听 82 端⼝
[root@node1 ~]# cat /etc/httpd/conf/httpd.conf  | grep Listen
# Listen: Allows you to bind Apache to specific IP addresses and/or
# Change this to Listen on a specific IP address, but note that if
#Listen 12.34.56.78:80
Listen 82
[root@node1 ~]# 

# 查看 httpd 默认 DocumentRoot ⽬录下⽂件的上下⽂ context 值,发现其中⼀个⽂
件的 context 值不是 web 服务器站点⽹⻚所需的 context 值,此时,我们修改其
context 值
ot@node1 html]# ll -Z
总用量 12
-rw-r--r--. 1 root root unconfined_u:object_r:default_t:s0           23  1月  3 08:52 file1
-rw-r--r--. 1 root root unconfined_u:object_r:httpd_sys_content_t:s0 23  1月  3 08:53 file2
-rw-r--r--. 1 root root unconfined_u:object_r:httpd_sys_content_t:s0 23  1月  3 08:53 file3
[root@node1 html]# 

# 先删除 file1 ⽂件的默认 context 值,然后再设置其 DocumentRoot 默认的 context值,然后递归应⽤
[root@node1 html]# semanage  fcontext  -d -t default_t/var/www/html/file1 
file_spec option is needed for delete
[root@node1 html]# semanage  fcontext -a -t httpd_sys_content_t
file_spec option is needed for add
[root@node1 html]# restorecon -Rv /var/www/html/
Relabeled /var/www/html/file1 from unconfined_u:object_r:default_t:s0 to unconfined_u:object_r:httpd_sys_content_t:s0
[root@node1 html]# ll -Z
总用量 12
-rw-r--r--. 1 root root unconfined_u:object_r:httpd_sys_content_t:s0 23  1月  3 08:52 file1
-rw-r--r--. 1 root root unconfined_u:object_r:httpd_sys_content_t:s0 23  1月  3 08:53 file2
-rw-r--r--. 1 root root unconfined_u:object_r:httpd_sys_content_t:s0 23  1月  3 08:53 file3
[root@node1 html]# 

# 做 selinux 的端⼝标签,将 82 端⼝添加到 http_port_t 类型中
[root@node1 html]# semanage  port  -l | grep http
http_cache_port_t              tcp      8080, 8118, 8123, 10001-10010
http_cache_port_t              udp      3130
http_port_t                    tcp      80, 81, 443, 488, 8008, 8009, 8443, 9000
pegasus_http_port_t            tcp      5988
pegasus_https_port_t           tcp      5989
[root@node1 html]# semanage  port  -a -t http_port_t -p tcp 82
[root@node1 html]# semanage  port  -l | grep http
http_cache_port_t              tcp      8080, 8118, 8123, 10001-10010
http_cache_port_t              udp      3130
http_port_t                    tcp      82, 80, 81, 443, 488, 8008, 8009, 8443, 9000
pegasus_http_port_t            tcp      5988
pegasus_https_port_t           tcp      5989
[root@node1 html]# 

# 设置防⽕墙,允许流量通过 82 端⼝
[root@node1 html]# firewall-cmd  --add-port=82/tcp --permanent 
success
[root@node1 html]# firewall-cmd  --reload 
success
[root@node1 html]# 

# 重启 httpd 服务,并设置下次启动⽣效
[root@node1 html]# systemctl  restart  httpd
[root@node1 html]# systemctl  enable  httpd

# 验证,使⽤宿主机,测试 file1,file2,file3 ⽂件是否都能通过 http 进⾏访问
[root@mars ~]# curl http://node1:82/file1
Welcome to EX200 exam!
[root@mars ~]# 
[root@mars ~]# curl http://node1:82/file2
Welcome to EX200 exam!
[root@mars ~]# curl http://node1:82/file3
Welcome to EX200 exam!
[root@mars ~]# 

四、配置用户账户

创建用户tammy,其用户ID为2024,此用户的密码应当是redhat

[root@node1 html]# useradd  -u 2024 tammy
[root@node1 html]# echo redhat | passwd --stdin tammy 
更改用户 tammy 的密码 。
passwd:所有的身份验证令牌已经成功更新。
[root@node1 html]# 

五、创建用户账户

创建下列⽤户、组和组成员资格:

1、名为 admins的组

2、⽤户 zhsan,作为次要组从属于 admins

3、⽤户 lisi,作为次要组从属于 admins

4、⽤户 wangwu,⽆权访问系统上交互式 shell,且不是 admins 的成员

5、zhsan、lisi、wangwu 的密码都应该是 redhat

[root@node1 ~]# groupadd  admin
[root@node1 ~]# useradd  -G admins zhsan
[root@node1 ~]# useradd  -G  admins lisi
[root@node1 ~]# useradd  -s /sbin/nologin wangwu
[root@node1 ~]# echo  redhat | passwd --stdin zhsan 
更改用户 zhsan 的密码 。
passwd:所有的身份验证令牌已经成功更新。
[root@node1 ~]# echo  redhat | passwd --stdin lisi 
更改用户 lisi 的密码 。
passwd:所有的身份验证令牌已经成功更新。
[root@node1 ~]# echo  redhat | passwd --stdin wangwu 
更改用户 wangwu 的密码 。
passwd:所有的身份验证令牌已经成功更新。
[root@node1 ~]# 

六、配置cron计划任务

1、以用户zhsan的身份每5分钟执行一次命令 logger "RH200 Test"

[root@node1 ~]# crontab  -e -u zhsan 
crontab: installing new crontab
[root@node1 ~]# crontab  -l -u zhsan 
*/5 * * * *  logger "RH200 Test"
[root@node1 ~]# systemctl  restart  crond.service 
[root@node1 ~]# systemctl enable  crond.service 
[root@node1 ~]#

2、以zhsan的身份每天下午2:28分执行一次命令 logger "RH200 Test"

[root@node1 ~]# crontab  -e -u zhsan 
crontab: installing new crontab
[root@node1 ~]# crontab  -l -u zhsan 
28 14 * * *  logger "RH200 Test"
[root@node1 ~]# systemctl  restart  crond.service 
[root@node1 ~]# systemctl enable  crond.service 
[root@node1 ~]#

七、配置文件权限

将文件/etc/hosts 复制为/var/tmp/hosts 并按要求配置/var/tmp/hosts的权限:

1、文件/var/tmp/hosts 属于root用户

2、文件/var/tmp/hosts 属于root组

3、任何用户对/var/tmp/hosts 都没有可执行权限

4、用户zhsan能够读取和写入/var/tmp/hosts 文件

5、用户lisi无法读取或者写入/var/tmp/hosts 文件

6、所有其他用户(当前或未来)能够读取/var/tmp/hosts 文件

[root@node1 ~]# cp /etc/hosts /var/tmp/hosts
[root@node1 ~]# ll /var/tmp/hosts
-rw-r--r--. 1 root root 481  4月  9 22:45 /var/tmp/hosts
[root@node1 ~]# setfacl  -m u:zhsan:rw /var/tmp/hosts 
[root@node1 ~]# setfacl  -m u:lisi:--- /var/tmp/hosts 
[root@node1 ~]#

八、创建共享目录

创建具有以下特征的写作目录

1、/home/tools的组的所有权是admins

2、此目录能被admins组的成员读取、写入和访问,除了root外其他用户没有这些权限,在此目录下创建的文件,其组的所有权自动设置为admins组

[root@node1 ~]# mkdir  /home/tools
[root@node1 ~]# chgrp  admins  /home/tools/
[root@node1 ~]# chmod  g=rwx,o=---  /home/tools/
[root@node1 ~]# ll /home/
总用量 0
drwx------. 2 lisi    lisi     62  4月  9 22:24 lisi
drwx------. 6 student student 140  1月  4 09:18 student
drwx------. 2 tammy   tammy    62  4月  9 19:29 tammy
drwxrwx---. 2 root    admins    6  4月 10 14:08 tools
drwx------. 2 wangwu  wangwu   62  4月  9 22:25 wangwu
drwx------. 2 zhsan   zhsan    62  4月  9 22:24 zhsan
[root@node1 ~]# chmod  g+s /home/tools/
相关推荐
Aileen_0v03 分钟前
【AI驱动的数据结构:包装类的艺术与科学】
linux·数据结构·人工智能·笔记·网络协议·tcp/ip·whisper
州周36 分钟前
Ftp目录整个下载
linux·服务器·数据库
Jackey_Song_Odd37 分钟前
Ubuntu 24.04.1 解决部分中文字符(门、径)显示错误的问题
linux·ubuntu
kaixin_learn_qt_ing1 小时前
Linux export命令
linux
余额不足121381 小时前
C语言基础十六:枚举、c语言中文件的读写操作
linux·c语言·算法
冷曦_sole1 小时前
linux-19 根文件系统(一)
linux·运维·服务器
AI大模型学徒1 小时前
Linux(二)_清理空间
linux·运维·服务器
花鱼白羊1 小时前
TCP Vegas拥塞控制算法——baseRtt 和 minRtt的区别
服务器·网络协议·tcp/ip
云川之下1 小时前
【linux】 unshare -user -r /bin/bash命令详解
linux·bash·unshare
tntlbb1 小时前
Ubuntu20.4 VPN+Docker代理配置
运维·ubuntu·docker·容器