sys
데비안에서 사용자의 비밀번호 해시를 얻고 싶습니다 (그러나 선호하는 비밀번호). 모든 비밀번호 해시는 /etc/shadow
파일에 저장되지만 사용자의 비밀번호 해시는 저장되지 않는다고 들었습니다 sys
.
얻는 방법?
PS 루트 액세스 권한이 있습니다.
답변1
일반적인 데스크탑 설치에서는 눈에 보이는 것이 그대로 표시되며 /etc/shadow
시스템 사용자는 일반적으로 비밀번호가 설정되어 있지 않습니다. 대화형 로그인에는 사용되지 않으므로 비밀번호가 필요하지 않습니다.
예를 들어, 내가 보고 있는 시스템에는 /etc/shadow
다음과 같은 줄이 있습니다 sys
.
sys:*:19101:0:99999:7:::
*
사용자에게 비밀번호가 있는 경우 비밀번호 해시가 여기에 위치합니다. 그러나 *
이는 유효하지 않은 비밀번호 해시이고 어떠한 비밀번호도 생성하지 않으므로 사용자는 로그인할 비밀번호가 없습니다.
비밀번호 해시 필드가 비어 있으면 비밀번호를 입력하지 않고도 로그인이 허용될 수 있으니 참고하세요. Linux PAM 라이브러리 nullok
의 경우 이는 pam_unix.so
(매뉴얼 페이지):
nullok
이 모듈의 기본 작업은 공식 비밀번호가 비어 있는 경우 사용자가 서비스에 액세스하는 것을 허용하지 않는 것입니다. 이nullok
매개변수는 이 기본값을 대체합니다.
(활성화되고 비밀번호가 비어 있는 경우 모듈은 비밀번호를 묻지도 않고 직접 로그인을 수락합니다.)
정말로 원한다면 일반적인 방법으로 시스템의 비밀번호를 설정할 수 있지만 현재 수행 중인 작업을 다시 생각해 보는 것이 좋습니다. 더 나은 방법이 있을 수도 있습니다. 또한 사용 가능한 쉘 설정이 없을 수도 있습니다. 예를 들어 제가 살펴본 시스템에서 sys
사용자의 쉘 설정은 이었습니다 /usr/sbin/nologin
.