그래서 내 질문에 똑바로 앞으로 리눅스 사용자 이름과 비밀 번호를 주어진 그것이 유효한 계정인지 어떻게 테스트 할 수 있습니까?리눅스 사용자 이름과 암호가 주어지면 올바른 계정인지 어떻게 테스트 할 수 있습니까?
11
A
답변
28
섀도 파일을 사용하여 주어진 사용자 이름에 대해 주어진 암호가 올바른지 확인할 수 있습니다.
대부분의 최신 배포판에서 해시 된 암호는/etc/shadow (루트에서만 읽을 수 있음) 파일에 저장됩니다. 루트로,과 같이 주어진 사용자에 대한 그림자 파일에서 줄을 당겨 :
username:$1$TrOIigLp$PUHL00kS5UY3CMVaiC0/g0:15020:0:99999:7:::
사용자 이름 후 $ 1로하고, :이 같은 것을 볼 수
cat /etc/shadow | grep username
. 이는 MD5 해시임을 나타냅니다. 그 후에 또 다른 $, 그 다음에 (이 경우) TrOIigLp 다음에 또 다른 $가옵니다. TrOIigLp는 소금입니다. 그 후 salt를 사용하여 해싱 된 해시 된 암호 (이 경우 PUHL00kS5UY3CMVaiC0/g0)가 표시됩니다.
지금, 당신과 같이, 같은 소금을 사용하여 지정된 패스워드를 해시 OpenSSL을 사용할 수 있습니다 : 메시지가 표시되면
openssl passwd -1 -salt TrOIigLp
지정된 암호를 입력, 제공되는 소금을 사용하여 MD5 해시를 계산해야 openssl 명령, 그림자 파일의 위와 정확히 같아야합니다. 위의 명령에서 -1은 MD5 해싱을위한 것입니다.
당신은 그들과 함께 로그인을 시도합니다. 당신이 들어간 경우, 콤보가 유효합니다. –