비밀번호가 다음에 저장되어 있다는 것을 알고 있습니다./etc/shadow
그러나 로그인 프로세스 중에 Linux는 사용자 이름과 비밀번호를 인수로 사용하고 동일한 알고리즘을 사용하여 비밀번호를 암호화한 다음 이를 섀도우에 저장된 비밀번호와 비교한다고 가정합니다.
내 질문은 이 프로세스가 어디에서 발생하는가입니다. (코드) PAM을 검색해 보았으나 유용한 내용을 찾을 수 없었습니다.
답변1
답변2
비밀번호가 /etc/shadow에 저장되어 있다는 것을 알고 있습니다.
Gilles가 이미 말했듯이 비밀번호 해시만 저장되며 /etc/shadow
이는 가능한 위치 중 하나일 뿐이며 ldap
서버나 NIS
테이블에 전체적으로 저장될 수 있습니다.
그러나 로그인 프로세스 중에 Linux는 사용자 이름과 비밀번호를 인수로 사용하고 동일한 알고리즘을 사용하여 비밀번호를 암호화한 다음 이를 섀도우에 저장된 비밀번호와 비교한다고 가정합니다.
프로세스는 그보다 훨씬 더 유연합니다. PAM
구성 에 따라 시스템은 여러 모듈을 순차적으로 검사하고 하나가 성공하여 충분하다고 선언되거나 하나가 실패하여 필수로 선언되면 중지될 수 있습니다. 모듈은 로그인을 시도하는 사용자와 대화를 설정할 수 있으므로 제공되는 것이 반드시 사용자 이름/비밀번호 쌍일 필요는 없습니다. 예를 들어 rlogin
( pam_rhosts_auth
)를 사용하면 사용자에게 비밀번호를 제공하지 않고도 액세스 권한을 부여할 수 있습니다. 비밀번호가 곧 만료된다는 경고, 만료된 비밀번호를 변경하라는 메시지 및 유사한 대화형 작업을 사용자에게 알려야 합니다.
내 질문은 이 프로세스가 어디에서 발생하는가입니다. (코드) PAM을 검색해 보았으나 유용한 내용을 찾을 수 없었습니다.
Gilles는 또한 et 파일 항목 pam_unix
을 작업하면서 이 질문에 답했습니다 ./etc/passwd
/etc/shadow