如何更改 pam 配置,以便进一步执行 authconfig 不会覆盖它们?

如何更改 pam 配置,以便进一步执行 authconfig 不会覆盖它们?

我正在配置一台 CentOS7 主机(通过 ansible)运行authconfig.现在我需要pam_exec在设置中添加/配置模块,但似乎不支持它authconfig(参见手动身份验证配置/etc/sysconfig/authconfig)。

我担心(如某些 /etc/pam.d/*conf 标头中所述)后续 authconfig 调用将覆盖我的更改。

如何将特定的 pam 配置集成到 RedHatauthconfig框架?

答案1

authconfig只会更改/etc/pam.d/*-ac文件中的 PAM 配置。这些文件不会直接包含在各个服务的配置中,而是通过符号链接包含在其中。例如,/etc/pam.d/system-auth-ac默认情况下链接为/etc/pam.d/system-auth,并且像或 这样include的文件中的行将始终使用名称, never 。/etc/pam.d/sshd/etc/pam.d/loginsystem-authsystem-auth-ac

man authconfig表示如果符号链接被修改,authconfig则不会重新链接它们。因此,这是系统管理员可以注入自己的设置的地方。

您有两个选择:

  • 将您的内容添加pam_exec到各个服务的 PAM 配置文件中,无论是在相应的include行之前还是之后。如果您希望pam_exec仅申请特定服务,这是推荐的选项。 (pam_exec当用户运行chfn更新自己的姓名/办公室/电话号码信息时,您真的需要运行吗?)

  • 或者将相应的include链接替换为包含 yourpam_exec和 theninclude行引用相应*-ac文件的实际文件。

例如,如果您希望pam_exec与使用 的所有服务一起运行password-auth,您可以将/etc/pam.d/password-auth符号链接(指向password-auth-ac由 修改的符号链接authconfig)替换为如下文件:

auth include password-auth-ac
account include password-auth-ac
password include password-auth-ac
session include password-auth-ac
session required pam_exec.so <your parameters>

...假设您希望pam_exec在会话阶段结束时进行。如果您想将其放入不同的阶段,请进行编辑以满足您的需要。

相关内容