나는 사용자 이름을 일치시키기 위해 service
이 모듈을 사용하고 있는 Linux 시스템을 가지고 있습니다 . 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 및제공하다
필드 이름과 일치하는 값을 이스케이프 처리하는 방법은 무엇입니까?
추가 문제 해결:
debug
옵션이 켜져 있고 pam_succeed_if.so
사용자 이름이 다음 service
으로 변환됩니다 login
.
login: pam_succeed_if(login:auth): 'user' resolves to 'login'
이는 로그인에 사용되는 PAM 구성입니다 /etc/pam.d/login
.
답변1
pam_succeed_if.so
값이 존재하는 경우 전달된 값을 user
값으로 변환합니다. field
예를 들어 사용자를 사용하면 다음과 같습니다 shell
.
login: pam_succeed_if(login:auth): 'user' resolves to '/bin/bash'
나는 이것이 명백히 인기가 없는 결정을 내리는 것을 어떻게 막을 수 있는지 모르겠습니다. 그러나 거의 모든 사람에게 적용되는 솔루션이 있습니다.
실제 값이 아닌 구문 분석된 값을 확인하세요.
예
service
PAM 구성 에서 사용자를 일치시키려면 다음을 수행하십시오 login
.
auth required pam_succeed_if.so user = login
service
PAM 구성 에서 사용자를 일치시키려면 다음을 수행하십시오 sshd
.
auth required pam_succeed_if.so user = sshd
shell
사용자를 일치시키기 위해 구성된 쉘은 다음과 같습니다 /bin/bash
.
auth required pam_succeed_if.so user = /bin/bash