我正在配置一台 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/login
system-auth
system-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
在会话阶段结束时进行。如果您想将其放入不同的阶段,请进行编辑以满足您的需要。