配置网络设置
在mars.domain250.example.com
上执行以下任务,配置网络络设置
将 mars
配置为具有以下网络配置:
- 主机名: mars.domain250.example.com
- IP 地址: 172.25.250.100
- 子网掩码: 255.255.255.0
- 网关: 172.25.250.254
解题
设置主机名
查看所有网络接口信息
设置静态IP、配置开机自动激活
激活配置
检查网卡是否配置成功
检查主机名是否配置成功
|
注意事项
- 如果默认connection没有自动连接还需要加上选项 connection.autoconnect yes
- 网络配置完成后,后续的题就可以通过ssh远程操作完成。
- 如果题要求配置DNS,则还需要指定ipv4.dns选项
- 设置网卡时需注意网卡名是否带有特殊符号, 包括含有空格, 都需要用引号把名字括起来
- 设置网卡时需注意前面是要有的
配置您的系统以使用默认存储库
YUM
存储库已可以从 http://content/rhel8.0/x86_64/dvd/BaseOS
和
http://content/rhel8.0/x86_64/dvd/AppStream
使用配置您的系统,以将这些位置用作默认存储库。
解题
[root@mars ~] [root@mars yum.repos.d] [base] name=base baseurl=http://content/rhel8.0/x86_64/dvd/BaseOS enabled=1 gpgcheck=0 [app] name=app baseurl=http://content/rhel8.0/x86_64/dvd/AppStream enabled=1 gpgcheck=0 [root@mars yum.repos.d] [root@mars yum.repos.d] [root@mars yum.repos.d]
|
注意事项
- 源库的名字可以自定义, 除非题目有要求.
- baseurl全部小写.
- 填写源的路径时能复制尽量复制别手敲,避免错误.
调试 SELinux
非标准端口 82
上运行的 Web
服务器在提供内容时遇到问题。根据需要调试并解决问题,使其满足以
下条件:
- 系统上的
Web
服务器能够提供 /var/www/html
中所有现有的 HTML
文件(注:不要删除或以其他方式改动现有的文件内容)
Web
服务器在端口 82
上提供此内容
Web
服务器在系统启动时自动启动
解题
检查selinux
selinux未开启就需要进配置文件把selinux设置为enforcing
SELINUX=enforcing 重启使其生效
检查semanage是否有安装
如果没有需安装semanage
|
selinux 运行82 非标端口运行
[root@mars ~]# systemctl start httpd Job for httpd.service failed because the control process exited with error code. See "systemctl status httpd.service" and "journalctl -xe" for details. [root@mars ~]# journalctl -xe ##查看报错信息 # semanage port -a -t PORT_TYPE -p tcp 82 ##提示的解决方案 [root@mars ~]# 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@mars ~]# semanage port -a -t http_port_t -p tcp 82 #参考journalctl -xe提示解决方案 [root@mars ~]# semanage port -l |grep http [root@mars ~]# systemctl start httpd ##开启httpd [root@mars ~]# systemctl enable httpd ##开机自启httpd
|
SELINUX类型上下文
[root@mars ~] [root@mars html] file1 file2 file3 [root@mars html] total 12 -rw-r--r--. 1 root root unconfined_u:object_r:default_t:s0 14 Nov 26 13:43 file1 -rw-r--r--. 1 root root unconfined_u:object_r:httpd_sys_content_t:s0 14 Nov 26 13:43 file2 -rw-r--r--. 1 root root unconfined_u:object_r:httpd_sys_content_t:s0 14 Nov 26 13:43 file3 [root@mars html] [root@mars ~] [root@mars ~] [root@mars ~] "/var/www/html/file1" [root@mars ~] [root@mars ~] total 12 -rw-r--r--. 1 root root unconfined_u:object_r:httpd_sys_content_t:s0 14 Nov 26 13:43 file1 -rw-r--r--. 1 root root unconfined_u:object_r:httpd_sys_content_t:s0 14 Nov 26 13:43 file2 -rw-r--r--. 1 root root unconfined_u:object_r:httpd_sys_content_t:s0 14 Nov 26 13:43 file3 [root@mars ~] EX200 Testing
|
防火墙放行
[root@mars ~] success [root@mars ~] success
[kiosk@foundation0 ~]$ curl 172.25.250.100:82/file1 EX200 Testing
|
注意事项
Selinux
从做题开始必须一直开着,不然容易被机器判定为0分;
firewall
必须放行httpd
端口;
Selinux
联系上下文 file
所有文件权限必须一致;
semanage fcontext
命令记不准确,可以用man semanage fcontext
查看使用样例;
semanage fcontext
修改了Selinux
文件权限后,必须用restorecon -Rv
/var/www/html/
刷新目录生效;
创建用户帐户
创建下列用户、组和组成员资格:
- 名为
sysmgrs
的组
- 用户
natasha
,作为次要组从属于 sysmgrs
- 用户
harry
,作为次要组还从属于 sysmgrs
- 用户
sarah
,无权访问系统上的交互式 shell
且不是 sysmgrs
的成员
natasha
、 harry
和 sarah
的密码应当都是 flectrag
解题
[root@mars ~] [root@mars ~] [root@mars ~] [root@mars ~] [root@mars ~] [root@mars ~] [root@mars ~] 检查密码是否设置成功
$ su - harry $ su - natasha $ su - sarah $ exit
|
注意事项
- 无权访问系统上的交互式是
/sbin/nologin
.
- 从
root
用户su
到其他用户不需要密码,可以用其他用户su
到其他用户检测密码是否正确.
- 账户和密码用复制粘贴避免手动输入错误.
计划任务cron
题目1:配置 cron
作业,每隔 25 分钟运行以下命令: logger "EX200 in progress"
,以用户 natasha
身份运行
题目2: 每天14:23 分natasha执行 echo “Hi rhcsa”
解题1
BASH [root@mars ~]
[root@mars ~]
[root@mars ~]
/usr/bin/logger
[root@mars ~]
*/2 * * * * /usr/bin/logger "EX200 in progress"
[root@mars ~]
*/2 * * * * /usr/bin/logger "EX200 in progress"
[root@mars ~]
|
解题2
[root@mars ~]
[root@mars ~]
[root@mars ~]
/usr/bin/echo
[root@mars ~]
23 14 * * * /usr/bin/echo “Hi rhcsa”
[root@mars ~]
23 14 * * * /usr/bin/echo “Hi rhcsa”
[root@mars ~]
|
crontab文件格式
* |
* |
* |
* |
* |
|
Minute |
Hours |
Day-of-Month |
Month |
Day -of-Week |
Command |
分钟 |
小时 |
日 |
月 |
周 |
命令 |
0-59 |
0-23 |
1-31 |
1-12 |
0-6 |
job |
- 时间: :每 /5:每隔分钟 ,:不同的时间段
- -:表示范围
- 星期0为星期日
注意事项
- 一定要检查
crond
服务是否开启,以及是否开机自启
logger
需要用which
系统命令的位置
crontab
格式注意
- 记得用
tail /var/log/cron
检查日志
创建协作目录
创建具有以下特征的协作目录 /home/managers
:
/home/managers
的组用权是 sysmgrs
- 目录应当可被
sysmgrs
的成员读取、写入和访问,但任何其他用户不具这些权限。(当然,root
- 用户有权访问系统上的所有文件和目录)
/home/managers
中创建的文件自动将组所有权设置到 sysmgrs
组
解题1
BASH [root@mars ~]
[root@mars ~]
drwxr-xr-x. 2 root root 6 Nov 26 20:38 /home/managers/
[root@mars ~]
[root@mars ~]
[root@mars ~]
drwxrws---. 2 root sysmgrs 6 Nov 26 20:38 /home/managers/
|
解题2
创建目录
更改目录的属组
查看/home/managers所拥有的权限
[root@mars ~] drwxr-xr-x. 2 root sysmgrs 6 Oct 26 12:12 /home/managers/
|
设定目录的权限,目录的访问权限即为x权限rwx=7,自动变成sysmgrs 组用特殊权限2
注意事项
chown
可以用来更改文件的所有者和所有组,如chown harry:harry /home/
,意为把home
的所有者和所有组改成harry
chgrp
允许普通用户改变文件所属的组,只要该用户是该组的一员,但不能改变所有者
chmod
控制用户对文件的权限的命令;chmod
赋予的高级权限分为:"4"
是SUID
普通用户提权,普通用户对该文件的所有操作相当于是root
权限(只针对二进制、可执行的文件);"2"
是SGID
获得该程序所属用户组的权限,这个用户组的所有用户在该文件夹下创建的任何一个文件夹或文件它们的群组都会与此目录的群组相同;"1"
是SBIT
限制用户对文件执行的权限,当用户在该目录下建立文件或目录时,仅有自己与 root
才有权力删除。
2770 "2"
为sgid
,"7"
为wrx
(w读 + r 写 + x 执行
),"0"
为什么权限都没有
注 意 题 目 要 求 要 不 要 赋 予 高 级 权 限
配置NTP
配置您的系统,使其成为 materials.example.com
的 NTP
客户端。(注:materials.example.com 是 classroom.example.com 的 DNS 别名
)
解题
BASH [root@mars ~] [root@mars ~] Use public servers from the pool.ntp.org project.
server materials.example.com iburst
[root@mars ~]
[root@mars ~]
[root@mars ~]
210 Number of sources = 1
MS Name/IP address Stratum Poll Reach LastRx Last sample
============================================================================
===
^* classroom.example.com 8 6 17 31 +5277ns[ +58us] +/-
363us
|
注意事项
记得查看chronyd
状态
如果没有安装chrony
,记得yum
安装
配置autofs
配置 autofs
,以按照如下所述自动挂载远程用户的主目录:
materials.example.com ( 172.25.254.254 ) NFS
导出 /rhome
到您的系统。此文件系统包含
- 为用户
remoteuser1
预配置的主目录
remoteuser1
的主目录是 materials.example.com:/rhome/remoteuser1
remoteuser1
的主目录应自动挂载到本地 /rhome
下的 /rhome/remoteuser1
- 主目录必须可供其用户
写入
remoteuser1
的密码是 flectrag
解题
第一步:安装autofs [root@mars ~] 第二步:查找autofs文件 [root@mars ~] /etc/auto.master /etc/auto.misc /etc/auto.net /etc/auto.smb /etc/autofs.conf /etc/autofs_ldap_auth.conf /etc/sysconfig/autofs /usr/lib/systemd/system/autofs.service 第三步:编写配置文件 [root@mars ~] 增加上层接口目录
/misc /etc/auto.misc /rhome /etc/auto.rhome 第四步:编写子配置文件 [root@mars ~] [root@mars ~]
remoteuser1 -fstype=nfs,vers=4,rw materials.example.com:/rhome/remoteuser 第五步:设置开机自启动 [root@mars ~] [root@mars ~] 第六步:测试是否成功,远程登录 [root@mars ~] remoteuser1@mars's password: Activate the web console with: systemctl enable --now cockpit.socket
This system is not registered to Red Hat Insights. See https://cloud.redhat.com/ To register this system, run: insights-client --register
Last login: Wed Oct 26 12:53:54 2022 from 172.25.250.100 [remoteuser1@mars ~]$ pwd /rhome/remoteuser1
|
注意事项
配置/var/tmp/fstab 权限
将文件 /etc/fstab
复制到 /var/tmp/fstab
。配置 /var/tmp/fstab
的权限以满足如下条件:
- 文件
/var/tmp/fstab
自 root
用户所有
- 文件
/var/tmp/fstab
属于组 root
- 文件
/var/tmp/fstab
应不能被任何人执行
- 用户
natasha
能够读取和写入 /var/tmp/fstab
- 用户
harry
无法写入或读取 /var/tmp/fstab
- 所有其他用户(当前或未来)能够读取
/var/tmp/fstab
解题
BASH [root@mars ~]
[root@mars ~]
-rw-r--r--. 1 root root 427 Nov 27 09:29 /var/tmp/fstab
[root@mars ~]
[root@mars ~]
[root@mars ~]
[root@mars ~]
getfacl: Removing leading '/' from absolute path names
user::rw-
user:natasha:rw-
user:harry:---
group::r--
mask::rw-
other::r--
|
注意事项
- 考点
setfacl
与getfacl
的使用,如果不知道记得man
下
配置用户帐户
配置用户 manalo
,其用户 ID
为 3533
。此用户的密码应当为 flectrag
。
解题
BASH [root@mars ~] [root@mars ~] Changing password for user manalo. passwd: all authentication tokens updated successfully. [root@mars ~] uid=3533(manalo) gid=3533(manalo) groups=3533(manalo)
|
注意事项
- 添加用户名并指定
ID
的命令是 useradd -u ID name
.
查找文件
查找当 jacques
所有的所有文件并将其副本放入 /root/findfiles
目录
解题
第一步:查看用户和目录是否存在
[root@mars ~]
[root@mars ~]
ls: cannot access '/root/findfiles': No such file or directory
|
第二步:创建目录
第三步:查找文件并放入新建的目录中
第四步:检查文件是否查找成功
[root@mars ~]
total 0
-rw-r--r--. 1 jacques root 0 Oct 12 10:12 gamelan
-rw-r--r--. 1 jacques jacques 0 Oct 12 10:12 jacques
-rw-r--r--. 1 jacques root 0 Oct 12 10:12 libWedgeit.so.1.2.3
|
注意事项
- 记得查看题目中所要求存放的目录是否存在 ,不存在需要
mkdir
创建一个。
- 本题考点
linux
命令: -exec
的使用 ,最后一定记得\
。
查找字符串
查找文件 /usr/share/xml/iso-codes/iso_639_3.xml
中包含字符串 ng
的所有行。将所有这些行的副本按原始顺序放在文件 /root/list
中。 /root/list
不得包含空行,且所有行必须是/usr/share/xml/iso-codes/iso_639_3.xml
中原始行的确切副本。
解题
BASH [root@mars ~]
[root@mars ~]
2289 5100 67565
|
注意事项
- 题目中要求不得包含空行,所以必须跟上管道符 然后
grep -v '^$'
创建存档
创建一个名为 /root/backup.tar.gz
的 tar
存档,其应包含 /usr/local
的 tar
存档,其应包含
/usr/local
的内容。该 tar
存档必须使用 gzip
进行压缩。
解题
BASH [root@mars ~]
[root@mars ~]
backup.tar.gz: gzip compressed data, last modified: Sun Nov 27 01:53:30 2022,
from Unix, original size 40960
|