Pam如何讓
如何讓 pam_succeed_if.so
辨識 service
使用者?
我有一個 Linux 系統,使用者名為
service
. 我正在使用該pam_succeed_if.so
模組來匹配此使用者名。例如:auth required pam_succeed_if.so user = service
但它不會匹配 的使用者名
service
,顯然是因為它也是 . 接受的欄位pam_succeed_if.so
。從手冊頁(為強調而編輯):可用欄位包括 user、uid、gid、shell、home、ruser、rhost、tty 和service
如何轉義匹配欄位名稱的值?
進一步的故障排除:
我打開了
debug
選項pam_succeed_if.so
,它將使用者名轉換service
為login
:login: pam_succeed_if(login:auth): 'user' resolves to 'login'
而這恰好是用於登錄的 PAM 配置,
/etc/pam.d/login
.
pam_succeed_if.so
如果該值存在,則將傳入user
的值轉換為該值。field
例如,使用使用者shell
:login: pam_succeed_if(login:auth): 'user' resolves to '/bin/bash'
我不知道如何阻止它做出這種明顯不受歡迎的決心。但是有一種解決方法幾乎適用於所有人。
只需檢查解析值,而不是實際值。
例子
要匹配PAM 配置中的
service
使用者:login
auth required pam_succeed_if.so user = login
要匹配PAM 配置中的
service
使用者:sshd
auth required pam_succeed_if.so user = sshd
匹配
shell
使用者,其配置的外殼是/bin/bash
:auth required pam_succeed_if.so user = /bin/bash