MySQL 데이터베이스에서 직접 postfix 사용자 계정의 비밀번호 변경

MySQL 데이터베이스에서 직접 postfix 사용자 계정의 비밀번호 변경

MySQL 데이터베이스에서 직접 postfix 사용자 계정 메일함의 비밀번호를 변경해야 합니다. 그러나 나는 사용된 형식을 전혀 모른다.

테이블은 다음과 같습니다.

SELECT username,password FROM mailbox LIMIT 1;
+------------------+------------------------------------+
| username         | password                           |
+------------------+------------------------------------+
| [email protected] | $1$60Dgu9vc$T7vaQfTKgxUpci0TTnsyO0 |
+------------------+------------------------------------+

어떤 형식인가요? 어떻게 바꿀 수 있나요?

답변1

$1$비밀번호 필드의 시작 부분 은 그것이 MD5 해시임을 암시합니다.

MD5 해시에서 비밀번호를 암호화하려면 다음 openssl passwd명령을 사용할 수 있습니다.

에서남자 openssl:

passwd 해시된 비밀번호 생성.

그리고 다음에서 openssl passwd --help:

-1 MD5 기반 비밀번호 알고리즘
-stdin은 stdin에서 비밀번호를 읽습니다.

따라서 짧은 bash 예인 MD5 해시를 생성하려면 다음을 수행하십시오.

#/bin/bash
PASSWORD="test123"
MD5=`echo $PASSWORD | openssl passwd -1 -stdin`

이를 실행하면 의도한 암호화된 비밀번호가 출력으로 표시됩니다.

$1$EaYOC8n4$04LSDBtt4A8GPVRUkzBXG/

따라서 MySQL DB의 비밀번호를 'test123'으로 변경하려면 MySQL 프롬프트에서 다음을 수행합니다.

USE postfix UPDATE mailbox SET password="$1$EaYOC8n4$04LSDBtt4A8GPVRUkzBXG/" WHERE username="[email protected]";

변경 사항은 즉시 적용되며 사용자는 다음 사서함 액세스 시 변경 사항을 확인할 수 있습니다.

관련 정보