文章

rhce题目

rhce题目

题目:调试 SELinux 以支持非标准端口上的 Web 服务器

问题描述: 系统上的 Web 服务器在非标准端口 82 上运行时遇到问题,无法正常提供内容。需要调试并解决问题,确保满足以下条件:

  1. Web 服务器内容提供:
    • 系统上的 Web 服务器能够提供 /var/www/html 目录中所有现有的 HTML 文件。
    • 不要删除或以其他方式改动现有的文件内容。
  2. 端口要求:
    • Web 服务器在端口 82 上提供内容。
  3. 启动要求:
    • Web 服务器在系统启动时自动启动。
  4. SELinux 要求:
    • 确保 SELinux 机制运行在 Enforcing 模式。

操作步骤:

  1. 安装必要的工具:

    1
    2
    
    yum provides "*/semanage"
    yum -y install policycoreutils-python-utils
    
  2. 设置 SELinux 文件上下文:

    1
    
    semanage fcontext -m -t httpd_sys_content_t /var/www/html/file1
    
  3. 添加 SELinux 端口策略:

    1
    
    semanage port -a -t http_port_t -p tcp 82
    
  4. 恢复文件上下文:

    1
    
    restorecon -Rv /var/www/html
    
  5. 配置防火墙:

    1
    2
    3
    
    firewall-cmd --permanent --add-service=http
    firewall-cmd --permanent --add-port=82/tcp
    firewall-cmd --reload
    
  6. 重启并启用 Web 服务器:

    1
    2
    
    systemctl restart httpd
    systemctl enable --now httpd
    
  7. 验证:

    • 确保可以通过以下命令访问文件内容:

      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,并设置特定的权限和组所有权。具体要求如下:

  1. 目录位置和名称
    • 创建目录 /home/managers
  2. 组所有权
    • 该目录的组所有权设置为 sysmgrs
  3. 权限设置
    • sysmgrs 组的成员对该目录具有读取、写入和访问的权限。
    • 其他用户(不包括 root 用户)不具有这些权限。
    • root 用户有权访问系统上的所有文件和目录。
  4. 文件组所有权继承
    • /home/managers 目录中创建的文件,自动将组所有权设置为 sysmgrs 组。

操作步骤

  1. 创建目录:

    1
    
    mkdir /home/managers
    
  2. 设置目录的组所有权:

    1
    
    chgrp sysmgrs /home/managers
    
  3. 设置目录的权限:

    • 使用 chmod 2770 /home/managers,其中 2 表示设置 SGID 位,确保新创建的文件自动继承组所有权。
    • 770 表示组内成员具有读(4)、写(2)和执行(1)权限,其他用户无权限。
  4. 检查设置:

    • 使用 ll -Z /home 查看目录的权限和组所有权设置。

总结: 通过上述步骤,确保 /home/managers 目录满足题目要求的权限和组所有权设置,且新创建的文件自动继承组所有权。

以下是整理后的配置 autofs 以自动挂载远程用户主目录的步骤:

1. 安装必要的软件包

首先,确保系统中安装了 nfs-utilsautofs 软件包。

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是一个动态系统优化工具,可以根据不同的工作负载自动调整系统设置以优化性能和能源效率。以下是完成题目要求的步骤:

  1. 安装tuned服务。
  2. 设置tuned服务开机自启。
  3. 重启tuned服务以应用更改。
  4. 查看当前活动的tuned配置。
  5. 获取tuned推荐的配置集。
  6. 将推荐的配置集设置为默认设置。
  7. 检查配置是否已正确应用。

步骤详解:

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建议的配置集,并将其设置为默认设置,从而完成了系统的调优。

本文由作者按照 CC BY 4.0 进行授权