29.2. 使用 tlog RHEL 系统角色将某些用户和组从会话记录中排除
您可以使用 tlog
RHEL 系统角色中的 tlog_exclude_users_sssd
和 tlog_exclude_groups_sssd
角色变量将用户或组从记录的会话中排除,并记录在 systemd
日志中。
playbook 安装 tlog-rec-session
,一个终端会话 I/O 日志记录程序,其充当用户的登录 shell。角色创建一个 SSSD 配置丢弃文件,此文件定义登录 shell 应用于哪些用户和组。另外,如果系统上安装了 cockpit
软件包,playbook 也会安装 cockpit-session-recording
软件包,它是一个 Cockpit
模块,供您在 web 控制台界面中查看和播放记录。
先决条件
- 您已准备好控制节点和受管节点。
- 您以可在受管主机上运行 playbook 的用户身份登录到控制节点。
-
您用于连接到受管节点的帐户对它们具有
sudo
权限。
流程
创建一个包含以下内容的 playbook 文件,如
~/playbook.yml
:--- - name: Deploy session recording excluding users and groups hosts: managed-node-01.example.com tasks: - name: Exclude users and groups ansible.builtin.include_role: name: redhat.rhel_system_roles.tlog vars: tlog_scope_sssd: all tlog_exclude_users_sssd: - jeff - james tlog_exclude_groups_sssd: - admins
--- - name: Deploy session recording excluding users and groups hosts: managed-node-01.example.com tasks: - name: Exclude users and groups ansible.builtin.include_role: name: redhat.rhel_system_roles.tlog vars: tlog_scope_sssd: all tlog_exclude_users_sssd: - jeff - james tlog_exclude_groups_sssd: - admins
Copy to Clipboard Copied! tlog_scope_sssd: <value>
-
值
all
指定您要记录所有用户和组。 tlog_exclude_users_sssd: <user_list>
- 您要从会话记录中排除的用户的 YAML 列表。
tlog_exclude_groups_sssd: <group_list>
您要从会话记录中排除的组的 YAML 列表。
有关 playbook 中使用的所有变量的详情,请查看控制节点上的
/usr/share/ansible/roles/rhel-system-roles.tlog/README.md
文件。
验证 playbook 语法:
ansible-playbook --syntax-check ~/playbook.yml
$ ansible-playbook --syntax-check ~/playbook.yml
Copy to Clipboard Copied! 请注意,这个命令只验证语法,不能防止错误的、但有效的配置。
运行 playbook:
ansible-playbook ~/playbook.yml
$ ansible-playbook ~/playbook.yml
Copy to Clipboard Copied!
验证
检查 SSSD 置入文件的内容:
cat /etc/sssd/conf.d/sssd-session-recording.conf
# cat /etc/sssd/conf.d/sssd-session-recording.conf
Copy to Clipboard Copied! 您可以看到该文件包含您在 playbook 中设置的参数。
- 以其会话将被记录的用户的身份登录,执行某些操作,然后退出。
以
root
用户身份:显示记录的会话的列表:
journalctl _COMM=tlog-rec-sessio
# journalctl _COMM=tlog-rec-sessio Nov 12 09:17:30 managed-node-01.example.com -tlog-rec-session[1546]: {"ver":"2.3","host":"managed-node-01.example.com","rec":"07418f2b0f334c1696c10cbe6f6f31a6-60a-e4a2","user":"demo-user",... ...
Copy to Clipboard Copied! 下一步需要
rec
(记录 ID)字段的值。请注意,由于 15 个字符的限制,
_COMM
字段的值被缩短了。回放会话:
tlog-play -r journal -M TLOG_REC=<recording_id>
# tlog-play -r journal -M TLOG_REC=<recording_id>
Copy to Clipboard Copied!