프로그래밍 방식으로 사용자의 비밀번호를 변경하려고 하는데 그 과정에서 설명할 수 없는 메시지가 표시됩니다.
먼저 다음 명령을 실행합니다.
sudo usermod -p "$(openssl passwd -1 newpassword)" theuser
인쇄 오류는 없지만 다음에 로그인할 때 다음 메시지가 나타납니다.
Debian GNU/Linux 시스템에 포함된 프로그램은 무료 소프트웨어입니다. 각 프로그램의 정확한 배포 조건은 /usr/share/doc/*/copyright의 개별 파일에 설명되어 있습니다.
해당 법률이 허용하는 한도 내에서 Debian GNU/Linux는 어떠한 보증도 없이 제공됩니다. 마지막 로그인: 2017년 1월 30일 월요일 16:22:41 193.50.110.1에서 잘못된 솔트 길이: 8 <= n <= 16인 경우 0바이트.
다른 암호화 방법을 시도했습니다.
sudo usermod -p "$(openssl passwd -crypt newpassword)" theuser
여전히 오류는 없지만 메시지가 변경되었습니다.
잘못된 솔트 길이: 8 <= n <= 16이 예상되는 경우 0바이트입니다.
마침내 더 강력한 암호화를 사용하여 다른 것을 시도했습니다 mkpasswd
(이 게시물):
sudo usermod -p "$(mkpasswd --method=sha-512 newpassword)" theuser
이번에는 오류가 사라졌기 때문에 해싱 알고리즘의 강점과 관련이 있다고 생각합니다. 내가 이해하지 못하는 것은 암호를 생성하는 데 어떤 알고리즘을 사용할 수 있고 사용해야 하는지입니다.
mkpasswd
메시지 오류를 방지하기 위해 어떤 알고리즘을 안전하게 사용할 수 있나요 ? 이는 mkpasswd
시작 시 명령이 실행된다는 의미이기도 합니까 ?
고쳐 쓰다:Raspbian Jessie Lite를 사용하여 이러한 메시지를 받았다는 사실을 언급하는 것을 잊어버렸습니다. 또한 mkpasswd.c 소스에서 이 오류 메시지가 포함된 일부 문자열을 찾았습니다.rfc1036/후이즈GitHub 저장소.