RHCE

01 设定SElinux

1. 在 server0 和 desktop0 上要求 SELinux 的工作模式为 enforcing

2. 系统重启后依然生效。

server0 & desktop0 :

vim /etc/selinux/config

SELINUX=enforcing


setenforce 1

getenforce

02 配置SSH访问控制

按以下要求配置SSH访问:

1. 用户能够从域 example.com 内的客户端通过SSH远程访问您的两个虚拟机系统

2. 在域 my133t.org(172.13.8.0/24)内的客户端不能访问您的两个虚拟机系统

server0 & desktop0 :

03 自定义用户环境

在系统 server0 和 desktop0 上创建自定义命令名为 qstat ,要求:

1. 此自定义命令将执行以下命令:/bin/ps -Ao pid,tt,user,fname,rsz

2. 此命令对系统中所有用户有效

server0 & desktop0 :

04 配置端口转发

在系统 server0 配置端口转发,要求如下:

1. 在 172.25.0.0/24 网络中的系统,访问 server0 本地tcp的 5423 端口将被转发到 80

2. 此设置必须永久有效

server0 :

05 配置链路聚合

在 server0 和 desktop0 之间按以下要求配置一个链路:

1. 此链路使用接口 eth1 和 eth2

2. 此链路在一个接口失效时仍然能工作

3. 此链路在 server0 使用下面的地址 172.16.3.40/255.255.255.0

4. 此链路在 desktop0 使用下面的地址 172.16.3.25/255.255.255.0

5. 此链路在系统重启之后依然保持正常状态

server0 & desktop0 :

06 配置 IPV6 地址

在您的考试系统上配置接口eth0 使用下列IPV6地址:

1. server0 上的地址应该是 2003:ac18::305/64

2. desktop0 上的地址应该是 2003:ac18::30a/64

3. 两个系统必须能与网络 2003:ac18/64 内的系统通信

4. 地址必须在重启后依然生效

5. 两个系统必须保持当前的 IPV4 地址并能通信

server0 & desktop0 :

07 配置本地邮件服务

在系统 server0 和 desktop0 上配置邮件服务,满足以下要求:

1. 这些系统不接受外部发送来的邮件

2. 在这些系统上本地发送的任何邮件都会自动路由到 mail.example.com

3. 从这些系统上发送的邮件显示来自于 example.com

4. 您可以通过发送邮件到本地用户 student 来测试您的配置

系统 classroom.example.com 已经配置把此用户的邮件转到下列URL :classroom.example.com/pub/received_mail/

你只需看到对应用户名文件的大小有变化即可

server0 & desktop0 :

08 通过 SMB 共享目录

在 server0 上配置SMB服务

1. 您的 SMB 服务器必须是 STAFF 工作组的一个成员

2. 共享 /common 目录 共享名必须为 common

3. 只有 example.com 域内的客户端可以访问 common 共享,common 必须是可以浏览的

4. 用户 andy 必须能够读取共享中的内容,如果需要的话,验证的密码是 redhat

server0 :

desktop0:

09 配置多用户 SMB 挂载

在 server0 共享通过 SMB 目录 /devops 满足下列要求:

1. 共享名为 devops

2. 共享目录 devops 只能 example.com 域中的客户端使用

3. 共享目录 devops 必须可以被浏览

4. 用户 silene 必须能以读的方式访问此共享,访问密码是 redhat

5. 用户 akira 必须能以读写的方式访问此共享,访问密码是 redhat

6. 此共享永久挂载在 system2.group8.example.com 上的 /mnt/dev 目录,并使用用户 silene 作为认证任何用户,可以通过用户 akira 来临时获取写的权限

server0 :

desktop0 :

10 配置 NFS 服务

在 server0 配置NFS服务,要求如下:

1. 以只读的方式共享目录 /public ,同时只能被 example.com 域中的系统访问

2. 以读写的方式共享目录 /protected ,同时只能被 example.com 域中的系统访问

3. 需要通过Kerberos安全加密,您可以使用下面URL提供的密钥

http://classroom.example.com/pub/keytabs/server0.keytab

4. 目录 /protected 应该包含名为 project 拥有人为 andres 的子目录

5. 用户 andres 能以读写方式访问 /protected/project

server0 :

11 挂载一个 NFS 共享

在 desktop0 上挂载一个来自 server0.example.com 的NFS共享,并符合下列要求:

1. /public 挂载在下面的目录上 /mnt/nfsmount

2. /protected挂载在下面的目录上 /mnt/nfssecure 并使用安全的方式,密钥下载URL如下:

http://classroom.example.com/pub/keytabs/desktop0.keytab

3. 用户 andres 能够在 /mnt/nfssecure/project 上创建文件

4. 这些文件系统在系统启动时自动挂载

desktop0 :

若加密资源无法挂载,可在服务端与客户端同时执行:

lab nfskrb5 setup

然后重启服务

12 实现一个 web 服务器

在 server0 上配置一个站点 http://server0.example.com/ 然后执行下述步骤:

1. 从 http://classroom.example.com/pub/server0.html 下载文件,并且将文件重名为 index.html 不要修改此文件的内容

2. 将文件 index.html 拷贝到您的 web 服务器的 DocumentRoot 目录下

3. 来自于 example.com 域的客户端可以访问此web服务

4. 来自于 my133t.org 域的客户端拒绝访问此web服务

server0 :

desktop0 :

13 配置安全 web 服务

为站点 http://server0.example.com 配置TLS加密:

1. 一个已签名证书从 http://classroom.example.com/pub/tls/certs/server0.crt 获取

2. 此证书的密钥从 http://classroom.example.com/pub/tls/private/server0.key 获取

3. 此证书的签名授权信息从 http://classroom.example.com/pub/tls/certs/ssl-ca.crt 获取

server0 :

desktop0 :

14 配置虚拟主机

在 server0 上扩展您的web服务器,为站点 http://server0.example.com 创建一个虚拟主机,然后执行下述步骤:

1. 设置 DocumentRoot 为 /var/www/virtual

2. 从 http://classroom.example.com/pub/www0.html 下载文件重命名为index.html 不要对文件index.html 中的内容做任何修改

3. 将文件 index.html 放到虚拟主机的 DocumentRoot 的目录下

4. 确保 andy 用户能够在 /var/www/virtual 目录下创建文件

server0 :

desktop0 :

15 配置 web 内容的访问控制

在您的 server0 上的web服务器的 DocumentRoot 目录下,创建一个名为 private 的目录,要求如下:

1. 从 http://classroom.example.com/pub/private.html 下载一个文件副本到这个目录,并且重命名为index.html ,不要对这个文件的内容做任何修改

2. 从 server0 上,任何人都可以浏览 private 的内容,但是从其它系统不能访问这个目录的内容

server0 :

desktop0 :

16 实现动态 web 内容

在 server0 上配置提供动态 web 内容,要求如下:

1. 动态内容由名为 webapp0.example.com 的虚拟主机提供

2. 虚拟主机侦听在端口 8909

3. 从 http://classroom.example.com/pub/webinfo.wsgi 下载一个脚本,然后放在适当的位置,无论如何不要求修改此文件的内容

4. 客户端访问 http://webapp0.example.com:8909/ 时,应该接收到动态生成的web页面

5. 此 http://webapp0.example.com:8909/ 必须能被 example.com 域内的所有系统访问

server0 :

desktop0 :

17 创建一个脚本

在 server0 上创建一个名为 /root/foo.sh 的脚本,让其提供下列特性:

1. 当运行 /root/foo.sh redhat ,输出为 fedora

2. 当运行 /root/foo.sh fedora ,输出为 redhat

3. 当没有任何参数或者参数不是 redhat 或者 fedora 时,其错误输出产生以下的信息:/root/foo.sh redhat | fedora

server0 :

18 创建一个添加用户的脚本

在 server0 上创建一个脚本,名为 /root/batchusers ,此脚本能实现为系统 server0 创建本地用户,并且这些用户的用户名来自一个包含用户名列表的文件,同时满足下列要求:

1. 此脚本要求提供一个参数,此参数就是包含用户名列表的的文件

2. 如果没有提供参数,此脚本应该给出下面的提示信息 Usage: /root/batchusers userfile 然后退出并返回相应的值

3. 如果提供一个不存在的文件名,此脚本应该给出下面的提示信息 Input file not found 然后退出并返回相应的值

4. 创建的用户登录 shell 为 /bin/false

5. 此脚本不需要为用户设置密码

6. 您可以从下面的URL中获取用户名列表作为测试用 http://classroom.example.com/pub/userlist

server0 :

19 配置 ISCSI 服务端

配置 server0 提供一个 ISCSI 服务磁盘名为 iqn.2019-06.com.example:server0 并符合下列要求:

1. 服务端口为 3260

2. 使用 iscsi_store 作其后端卷名称,其大小为 3G

3. 此服务只能被 desktop0.example.com 访问

server0 :

20 配置 ISCISI 的客户端

配置 desktop0 使其能链接在 server0 上提供的 iqn.2019-06.com.example:server0 并符合以下要求:

1. ISCISI 设备在系统启动的期间自动加载

2. 块设备 ISCISI 上包含一个大小为 2100MIB 的分区,并格式化为 ext4

3. 此分区挂载在 /mnt/data 上 同时在系统启动的期间自动挂载

desktop0 :

21 配置一个数据库

在 server0上创建一个 Maria DB 数据库,名为 Contacts,并符合以下条件:

1. 数据库应该包含来自数据库复制的内容,复制文件的URL为

classroom.example.com/pub/users.mdb ,数据库只能被 localhost 访问

2. 除了root用户,此数据库只能被用户Mary查询,此用户密码为 redhat

3. root 用户的数据库密码为 redhat,同时不允许空密码登录

server0 :

22 数据库查询

在系统 server0 上使用数据库 Contacts ,并使用相应的SQL 查询以回答下列问题:

1. 密码是 fedora 的人的名字是什么?

2. 有多少人的姓名是 Jhon ,同时居住在 Santa Clara ?

server0 :

Last updated