rhce题目
题目:调试 SELinux 以支持非标准端口上的 Web 服务器
问题描述: 系统上的 Web 服务器在非标准端口 82 上运行时遇到问题,无法正常提供内容。需要调试并解决问题,确保满足以下条件:
- Web 服务器内容提供:
- 系统上的 Web 服务器能够提供
/var/www/html
目录中所有现有的 HTML 文件。 - 不要删除或以其他方式改动现有的文件内容。
- 系统上的 Web 服务器能够提供
- 端口要求:
- Web 服务器在端口 82 上提供内容。
- 启动要求:
- Web 服务器在系统启动时自动启动。
- SELinux 要求:
- 确保 SELinux 机制运行在 Enforcing 模式。
操作步骤:
-
安装必要的工具:
1 2
yum provides "*/semanage" yum -y install policycoreutils-python-utils
-
设置 SELinux 文件上下文:
1
semanage fcontext -m -t httpd_sys_content_t /var/www/html/file1
-
添加 SELinux 端口策略:
1
semanage port -a -t http_port_t -p tcp 82
-
恢复文件上下文:
1
restorecon -Rv /var/www/html
-
配置防火墙:
1 2 3
firewall-cmd --permanent --add-service=http firewall-cmd --permanent --add-port=82/tcp firewall-cmd --reload
-
重启并启用 Web 服务器:
1 2
systemctl restart httpd systemctl enable --now httpd
-
验证:
-
确保可以通过以下命令访问文件内容:
1
curl http://node1.domain250.example.com:82/file1curl http://node1.domain250.example.com:82/file2curl http://node1.domain250.example.com:82/file3
-
注意:
- 确保在执行每一步操作后检查系统状态和日志,以便及时发现问题并进行调试。
- 如果遇到问题,可以使用
man semanage port
查看示例和更多帮助信息。
通过以上步骤,应能够调试并解决 Web 服务器在非标准端口 82 上运行时遇到的问题,同时确保 SELinux 在 Enforcing 模式下正常工作。
题目要求创建一个协作目录 /home/managers
,并设置特定的权限和组所有权。具体要求如下:
- 目录位置和名称:
- 创建目录
/home/managers
。
- 创建目录
- 组所有权:
- 该目录的组所有权设置为
sysmgrs
。
- 该目录的组所有权设置为
- 权限设置:
sysmgrs
组的成员对该目录具有读取、写入和访问的权限。- 其他用户(不包括
root
用户)不具有这些权限。 root
用户有权访问系统上的所有文件和目录。
- 文件组所有权继承:
- 在
/home/managers
目录中创建的文件,自动将组所有权设置为sysmgrs
组。
- 在
操作步骤:
-
创建目录:
1
mkdir /home/managers
-
设置目录的组所有权:
1
chgrp sysmgrs /home/managers
-
设置目录的权限:
- 使用
chmod 2770 /home/managers
,其中2
表示设置 SGID 位,确保新创建的文件自动继承组所有权。 770
表示组内成员具有读(4)、写(2)和执行(1)权限,其他用户无权限。
- 使用
-
检查设置:
- 使用
ll -Z /home
查看目录的权限和组所有权设置。
- 使用
总结: 通过上述步骤,确保 /home/managers
目录满足题目要求的权限和组所有权设置,且新创建的文件自动继承组所有权。
以下是整理后的配置 autofs 以自动挂载远程用户主目录的步骤:
1. 安装必要的软件包
首先,确保系统中安装了 nfs-utils
和 autofs
软件包。
1
2
[root@node1 ~]# yum -y install nfs-utils
[root@node1 ~]# yum -y install autofs
2. 配置 autofs 主配置文件
编辑 /etc/auto.master
文件,添加一个新的挂载点映射。
1
[root@node1 ~]# vim /etc/auto.master
在文件中添加以下行:
1
/rhome /etc/auto.rhome
3. 配置子配置文件
创建并编辑 /etc/auto.rhome
文件,定义具体的挂载规则。
1
[root@node1 ~]# vim /etc/auto.rhome
在文件中添加以下行:
1
remoteuser1 -rw materials.example.com:/rhome/remoteuser1
4. 启动并启用 autofs 服务
确保 autofs 服务在系统启动时自动启动,并立即启动该服务。
1
[root@node1 ~]# systemctl enable --now autofs
5. 检查挂载情况
验证远程用户的主目录是否已自动挂载到本地。
1
[root@node1 ~]# ll /rhome/
6. 验证用户访问
使用远程用户的凭据通过 SSH 登录到本地系统,检查主目录的挂载和写入权限。
1
[root@node1 ~]# ssh remoteuser1@localhost
输入密码 flectrag
后,执行以下命令:
1
2
3
4
$ pwd
/rhome/remoteuser1
$ touch my.file
$ mount | grep rhome
输出应类似于以下内容,表明挂载成功且文件系统可写:
1
materials.example.com:/rhome/remoteuser1 on /rhome/remoteuser1 type nfs4 (rw,relatime,vers=4.2,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=172.25.250.100,local_lock=none,addr=172.25.254.254)
总结
通过以上步骤,您已成功配置 autofs 以自动挂载远程用户 remoteuser1
的主目录,并确保该目录对用户可写。这样可以实现用户在访问其主目录时自动进行挂载,提升系统的灵活性和用户体验。
以下是对给定内容的整理和步骤说明:
目标
- 配置一个名为
container-ascii2pdf
的 systemd 服务,使容器ascii2pdf
在系统重启时自动启动。 - 容器使用刚创建的镜像
pdf
。 - 将
/opt/file
挂载到容器中的/dir1
,将/opt/progress
挂载到容器中的/dir2
。
步骤
1. 准备映射目录
1
2
[wallah@node1 ~]# sudo mkdir /opt/{file,progress}
[wallah@node1 ~]# sudo chown wallah:wallah /opt/{file,progress}
2. 启动容器并映射目录
1
2
[wallah@node1 ~]# podman run -d --name ascii2pdf -v /opt/file:/dir1:Z -v /opt/progress:/dir2:Z pdf
[wallah@node1 ~]# podman ps -a #查看全部容器
3. 创建 systemd 服务文件
1
2
3
4
[wallah@node1 ~]# mkdir -p ~/.config/systemd/user
[wallah@node1 ~]# cd ~/.config/systemd/user/
[wallah@node1 user]# podman generate systemd -n ascii2pdf -f --new
[wallah@node1 user]# ls # 查看生成的服务文件
4. 停止并移除容器
1
2
3
[wallah@node1 user]# podman stop ascii2pdf
[wallah@node1 user]# podman rm ascii2pdf
[wallah@node1 user]# podman ps -a # 确认容器已移除
5. 重新加载 systemd 配置
1
[wallah@node1 user]# systemctl --user daemon-reload
6. 启用并启动服务
1
2
3
[wallah@node1 ~]# systemctl --user enable --now container-ascii2pdf
[wallah@node1 ~]# systemctl --user status container-ascii2pdf
[wallah@node1 ~]# podman ps # 查看运行中的容器
7. 确保用户服务在系统启动时启动
1
2
[wallah@node1 ~]# loginctl enable-linger
[wallah@node1 ~]# loginctl show-user wallah
8. 检查和测试容器是否开机自启
1
2
3
4
[wallah@node1 ~]# exit # 退出 wallah 用户
[root@node1 ~]# reboot # 重启系统
[root@node1 ~]# ssh wallah@node1 # 再次登录 wallah 用户
[wallah@node1 ~]# podman ps # 检查容器是否自动启动
注意事项
- 确保在执行
podman generate systemd
命令时,容器ascii2pdf
是运行状态。 loginctl enable-linger
命令确保用户的 systemd 服务在系统启动时自动启动。- 重启系统后,通过
podman ps
检查容器是否自动启动,以验证配置是否成功。
通过以上步骤,可以成功配置一个在系统重启时自动启动的容器服务。
题目要求您为Linux系统配置和使用tuned
服务来进行系统调优。tuned
是一个动态系统优化工具,可以根据不同的工作负载自动调整系统设置以优化性能和能源效率。以下是完成题目要求的步骤:
- 安装
tuned
服务。 - 设置
tuned
服务开机自启。 - 重启
tuned
服务以应用更改。 - 查看当前活动的
tuned
配置。 - 获取
tuned
推荐的配置集。 - 将推荐的配置集设置为默认设置。
- 检查配置是否已正确应用。
步骤详解:
1. 安装tuned
服务
使用yum
包管理器安装tuned
:
1
sudo yum -y install tuned
2. 设置tuned
服务开机自启
启用tuned
服务,使其在系统启动时自动运行:
1
sudo systemctl enable tuned
3. 重启tuned
服务
重启tuned
服务以应用安装后的初始配置:
1
sudo systemctl restart tuned
4. 查看当前活动的tuned
配置
查看当前系统正在使用的tuned
配置:
1
sudo tuned-adm active
5. 获取tuned
推荐的配置集
tuned-adm recommend
命令会根据当前系统的硬件和运行的服务推荐一个合适的配置集:
1
sudo tuned-adm recommend
6. 将推荐的配置集设置为默认设置
假设tuned-adm recommend
命令推荐了virtual-guest
配置集,您可以将它设置为默认配置:
1
sudo tuned-adm profile virtual-guest
7. 检查配置是否已正确应用
再次运行sudo tuned-adm active
命令来确认virtual-guest
配置是否已激活:
1
sudo tuned-adm active
如果输出显示virtual-guest
,则表示配置已正确应用。
通过以上步骤,您已经为系统选择了tuned
建议的配置集,并将其设置为默认设置,从而完成了系统的调优。