Red Hat Training
A Red Hat training course is available for Red Hat Enterprise Linux
10.3. PAM 和管理凭证缓存
Red Hat Enterprise Linux 中有多个图形管理工具,如 GNOME 的
control-center
,用户可以使用 pam_timestamp.so
模块为用户提供最多 5 分钟的权限。务必要了解此机制的工作方式,因为在 pam_timestamp.so
过程中离开终端的用户使机器处于打开状态,以使机器可以被具有物理访问权限的任何人进行操作。
在 PAM 时间戳方案中,图形管理应用在启动时提示用户输入 root 密码。当用户通过身份验证后,
pam_timestamp.so
模块会创建一个时间戳文件。默认情况下,这在 /var/run/sudo/
目录中创建。如果时间戳文件已存在,图形管理程序不会提示输入密码。相反,pam_timestamp.so
模块会重新设置时间戳文件,从而保留一个额外的五分钟,为用户保留一个未限制的管理访问权限。
您可以通过检查
/var/run/sudo/
用户 目录中的文件来验证时间戳文件的实际状态。对于桌面,相关文件为 unknown:root
。如果存在,其时间戳少于五分钟,则凭证有效。
时间戳文件的存在通过身份验证图标表示,该图标出现在面板的通知区域中。
图 10.1. 身份验证图标

[D]
10.3.1. Common pam_timestamp 指令
pam_timestamp.so
模块提供这两个接口:
- auth
- 会话
另外,以下选项可用于
pam_timestamp.so
:
- timestamp_timeout: 指定时间戳文件的有效性周期(以秒为单位),默认为 300 (five minutes)。
- timestampdir: 指定在哪些目录中存储时间戳文件,默认为 /var/run/sudo/。
- 您还可以使用 verbose 或 debug 获取更详细的消息。
例如:
auth sufficient pam_timestamp.so timestamp_timeout=600 session optional pam_timestamp.so
10.3.2. 删除时间戳文件
在放弃激活 PAM 时间戳的控制台之前,建议销毁时间戳文件。要在图形环境中执行此操作,请单击面板上的验证图标。这将导致显示对话框。点 Forget Authorization 按钮销毁活跃的时间戳文件。
图 10.2. 取消验证对话框

[D]
PAM 时间戳文件有一些重要特征:
- 如果使用 ssh 远程登录到系统,请使用 /sbin/pam_timestamp_check -k root 命令销毁时间戳文件。
- 从启动特权应用程序的同一终端窗口中,运行 /sbin/pam_timestamp_check -k root 命令。
- 最初调用
pam_timestamp.so
模块的登录用户必须是运行 /sbin/pam_timestamp_check -k 命令的用户。不要以 root 身份运行此命令。 - 在桌面上终止凭证,而无需对图标使用 Forget Authorization 操作,可以使用 /sbin/pam_timestamp_check 命令完成。
/sbin/pam_timestamp_check -k root </dev/null >/dev/null 2>/dev/null
任何其他方法仅从运行命令的 PTY 中删除凭据。
有关使用
pam_timestamp_check
销毁时间戳文件的更多信息,请参阅 pam_timestamp_check 手册页。