죄송합니다. 저는 Linux를 처음 접했고 미리 정의된 암호화된 비밀번호를 사용하여 Debian에서 새 사용자 계정을 만드는 방법에 대한 정보를 찾고 있습니다.
bash에는 새 사용자의 ID가 내 /etc/passwd 파일에 나타나지 않으면 bash 명령을 실행하는 기능이 있습니다.
adduser -m -p <encrypted-password> <username>
내 모든 데이터(사용자 이름 및 비밀번호 포함)가 JSON 출력에 저장되고 사용자 비밀번호가 보안상의 이유로 SHA-512로 해시되었다는 점을 제외하면 지금까지는 괜찮습니다. 사용자의 비밀번호는 PHP 스크립트로 암호화되어 JSON으로 전송됩니다.
$hashed_password = crypt('Test007', '$6$rounds=5000$StJ.1Wji$');
echo looks like this: $6$rounds=5000$StJ.1Wji$cm6ZVl.XoIiQXaJAVHkqiteUGAqZoJ1Ee3dpHP2a6x6rG/kHg4k7ucMLrzHCvQA1TpQYP4eKnoFITVGcviqjU0
adduser 함수 이후 파일을 보면 /etc/shadow
해시된 비밀번호가 PHP에서 생성된 원래 비밀번호와 다르다는 것을 알 수 있습니다. 물론 해당 비밀번호를 사용하여 일반 텍스트로 새 사용자에 로그인할 수는 없습니다. 일반 텍스트 형식).
사전 정의된 암호화된 비밀번호로 사용자 계정을 생성하는 쉬운 방법이 있습니까? Linux useradd 기능에서 허용되는 해시된 비밀번호를 생성하는 방법은 무엇입니까? 인터넷에서 어떤 해결책도 찾을 수 없습니다.
답변1
앞의 값을 제외한 전체 값이 다음으로 전달되므로 이는 $6$rounds=5000
문제의 일부일 수 있습니다.$6
adduser
유효한 해시여야 합니다. 또한(스크립트 조각에서는 명확하지 않음) 매개변수 확장을 방지하기 위해 값을 인용해야 합니다. 예:
adduser -m -p '$6$gehr8sgkkX$lMZ5bmb7c4HY76pnn0uUXA5wH51YE0Byp4rIfcA94gWrVvfeNVQsMwoW2erVuxzFScxRvaHOLFMqVSYCjVlTV/' oneshot
mkpasswd를 사용하여 제안된 값을 얻습니다.섀도우용 SHA-512 해시 비밀번호를 생성하는 방법은 무엇입니까?
여기에서 간단히 확인해 보면 저장된 값이 /etc/shadow
adduser를 실행할 때 사용한 값과 일치합니다.