Centos

如何對 pam config 進行更改,以便進一步執行 authconfig 不會覆蓋它們?

  • June 8, 2018

我正在配置一個 CentOS7 主機(通過 ansible)執行authconfig. 現在我需要pam_exec在設置中添加/配置模組,但它似乎不受authconfig(參見man authconfig/etc/sysconfig/authconfig)的支持。

恐怕(如某些 /etc/pam.d/*conf 標頭中所述)隨後的 authconfig 呼叫將覆蓋我的更改。

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

authconfig只會更改/etc/pam.d/*-ac文件中的 PAM 配置。這些文件不直接包含在單個服務的配置中,而是通過符號連結。例如,/etc/pam.d/system-auth-ac預設情況下連結為/etc/pam.d/system-auth,並且include文件中的行喜歡/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或者用一個實際文件替換相應的連結,該文件包含您的pam_exec然後include行引用相應*-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在會話階段結束。如果您想將其置於不同的階段,請根據您的需要進行編輯。

引用自:https://unix.stackexchange.com/questions/447942