다양한 종류의 비밀번호(길이, 문자 세트 및 암호화 해시 방법 포함)에 대해 JohnTheRipper를 테스트하기 위해 내 컴퓨터에 몇 명의 Linux 사용자를 만들고 싶습니다. 새 사용자를 생성할 때 사용할 해싱 알고리즘을 쉽게 지정하려면 어떻게 해야 합니까? 나는 /etc/login.defs 파일에 많은 데비안 시스템에서 기본적으로 SHA512로 설정되는 ENCRYPT_METHOD 변수가 포함되어 있다는 것을 알고 있지만 이 파일을 수정하지 않고 다른 암호화 해시를 사용할 수 있는지 알고 싶습니다.
ps: 이 파일을 수정하고 재부팅하고 adduser 명령을 사용하여 새 사용자를 생성하려고 했지만 암호화 해시 방법 사용자는 항상 SHA512입니다.
감사해요
답변1
기본이 아닌 해싱 방법으로 비밀번호를 설정하는 가장 쉬운 방법은 먼저 비밀번호를 수동으로 해시한 다음 사용자를 설정할 때 해당 비밀번호를 제공하는 것입니다.
adduser --password HASHEDPASSWORD user
crypt
HASHEDPASSWORD는 기능( ) 에 대한 시스템 표준을 따라야 합니다 man 3 crypt
.
salt가 문자 "$id$"로 시작하고 뒤에 다음으로 끝나는 문자열인 경우
"$"
:$id$salt$encrypted
그런 다음 DES 시스템을 사용하는 대신 id는 사용된 암호화 방법을 식별하고 나머지 비밀번호 문자열이 해석되는 방법을 결정합니다. 다음과 같은 id 값이 지원됩니다.
ID | Method --------------------------------------------------------- 1 | MD5 2a | Blowfish (not in mainline glibc; added in some | Linux distributions) 5 | SHA-256 (since glibc 2.7) 6 | SHA-512 (since glibc 2.7)
$5$salt$encrypted
SHA-256으로 인코딩된 비밀번호와$6$salt$encrypted
SHA-512로 인코딩된 비밀번호도 마찬가지입니다 .
명령줄에서 올바른 해시를 생성하려면 다음을 확인하세요.여기.
답변2
몇 가지 테스트를 거친 후, 다양한 해시 알고리즘을 사용하여 다양한 사용자를 생성하는 가장 좋은 방법은 3단계로 구성됩니다.
- 비밀번호 없이 사용자 생성
- 지정된 매개변수(솔트, 비밀번호, 해싱 알고리즘)를 사용하여 UNIX 형식 비밀번호 생성
- /etc/shadow에서 생성된 UNIX 비밀번호를 설정합니다.
다음은 사용자의 예입니다.테스트1, 비밀번호 포함1234그리고MD5해싱 함수로.
sudo adduser test1 --disabled-password sudo mkpasswd --method=md5 --salt=coolsalt 1234 $1$coolsalt$qTXiZzGn08J.xYkV1ce1y1
이제/etc/shadow
편집하기 전에
test1:*:16559:0:99999:7:::
편집 후
test1:$1$coolsalt$qTXiZzGn08J.xYkV1ce1y1:16559:0:99999:7:::
그런 다음 이 사용자로 로그인하여 형식이 올바른지 확인할 수 있습니다.
whoami root su test1 Password: 1234 whoami test1
도와 주셔서 감사합니다