30.4. 部署 tlog RHEL 系统角色以排除组或用户列表

您可以使用 tlog 系统角色来支持 SSSD 会话记录配置选项 exclude_usersexclude_groups。按照以下步骤准备和应用 Ansible playbook,来配置 RHEL 系统,以便在 systemd 日志中排除用户或组的会话记录。

playbook 在您指定的系统上安装 tlog RHEL 系统角色。该角色包括 tlog-rec-session (终端会话 I/O 日志记录程序),它充当用户的登录 shell。它还会创建一个 /etc/sssd/conf.d/sssd-session-recording.conf SSSD 配置丢弃文件,供用户和组使用,但您定义为排除的用户和组除外。SSSD 解析并读取这些用户和组,并使用 tlog-rec-session 替换其用户 shell。另外,如果系统上安装了 cockpit 软件包,playbook 也会安装 cockpit-session-recording 软件包,它是一个 Cockpit 模块,供您在 web 控制台界面中查看和播放记录。

先决条件

步骤

  1. 创建包含以下内容的 playbook 文件,如 ~/playbook.yml

    ---
    - name: Deploy session recording excluding users and groups
      hosts: managed-node-01.example.com
      roles:
        - rhel-system-roles.tlog
      vars:
        tlog_scope_sssd: all
        tlog_exclude_users_sssd:
          - jeff
          - james
        tlog_exclude_groups_sssd:
          - admins
    tlog_scope_sssd
    all 指定您要记录所有用户和组。
    tlog_exclude_users_sssd
    指定您要从会话记录中排除的用户的用户名。
    tlog_exclude_groups_sssd
    指定您要从会话记录中排除的组。
  2. 验证 playbook 语法:

    $ ansible-playbook --syntax-check ~/playbook.yml

    请注意,这个命令只验证语法,不会防止错误但有效的配置。

  3. 运行 playbook:

    $ ansible-playbook ~/playbook.yml

验证

  1. 进入创建 SSSD 配置丢弃文件的文件夹:

    # cd /etc/sssd/conf.d/
  2. 检查文件内容:

    # cat sssd-session-recording.conf

    您可以看到该文件包含您在 playbook 中设置的参数。

  3. 以记录会话的用户身份登录。
  4. 返回记录的会话

其他资源

  • /usr/share/ansible/roles/rhel-system-roles.tlog/README.md file
  • /usr/share/doc/rhel-system-roles/tlog/ directory