[mysql] mysql 비밀번호 유효성 검사를 끄려면 어떻게합니까?

MySQL 5.7에서 암호 유효성 검사 플러그인을 실수로로드 한 것 같습니다. 이 플러그인은 모든 비밀번호가 특정 규칙을 준수하도록 강제하는 것 같습니다.

이 기능을 끄고 싶습니다.

여기 에 제안 된대로 validate_password_length 변수를 변경하려고 시도했습니다 .

mysql> SET GLOBAL validate_password_length=4;
Query OK, 0 rows affected (0.00 sec)

mysql> SET PASSWORD FOR 'app' = PASSWORD('abcd');
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

플러그인을 언로드하거나 어떻게 든 중립화하고 싶습니다.



답변

다음은 validate password 플러그인을 제거하는 방법입니다.

  1. 루트로 mysql 서버에 로그인 mysql -h localhost -u root -p
  2. 다음 sql 명령을 실행하십시오. uninstall plugin validate_password;
  3. 마지막 줄이 작동하지 않으면 (새로운 mysql 릴리스) 실행해야합니다 UNINSTALL COMPONENT 'file://component_validate_password';

프로덕션 시스템에는이 솔루션을 권장하지 않습니다. 개발 목적으로 만 로컬 mysql 인스턴스에서이 솔루션을 사용했습니다.


답변

MySQL v 8.0.12를 사용 하고 있으며 암호 유효성 검사 구성 요소 를 비활성화 하는 명령 은 다음과 같습니다.

UNINSTALL COMPONENT 'file://component_validate_password';

다시 설치하려면 명령은 다음과 같습니다.

INSTALL COMPONENT 'file://component_validate_password';

비밀번호 확인 플러그인 정책 을 변경 하려는 경우 :

SET GLOBAL validate_password.policy = 0;   // For LOW
SET GLOBAL validate_password.policy = 1;   // For MEDIUM
SET GLOBAL validate_password.policy = 2;   // For HIGH


답변

Sharfi의 답변을 바탕으로 /etc/my.cnf 파일을 편집하고 다음 한 줄만 추가하십시오.

validate_password_policy=LOW

OP의 요청에 따라 유효성 검사를 충분히 중성화해야합니다. 이 변경 후에 mysqld를 다시 시작하고 싶을 것이다. OS에 따라 다음과 같이 보일 것입니다.

sudo service mysqld restart

validate_password_policy는 값 0, 1 또는 2 또는 해당 숫자에 해당하는 단어 LOW, MEDIUM 및 STRONG을 사용합니다. 기본값은 MEDIUM (1)이며, 암호에는 적어도 하나의 대문자, 소문자, 숫자 및 특수 문자가 포함되어야하며 총 암호 길이는 8 자 이상이어야합니다. 여기서 제안한대로 LOW로 변경하면 길이 만 검사합니다. 다른 매개 변수를 통해 변경되지 않은 경우 길이는 8로 검사됩니다. 길이 제한을 짧게하려면 validate_password_length를 my.cnf 파일

레벨 및 세부 사항에 대한 자세한 정보 는 mysql doc을 참조하십시오 .


MySQL 8의 경우 속성이 “validate_password_policy”에서 “validate_password.policy”로 변경되었습니다. 최신 정보 는 업데이트 된 mysql 문서 를 참조하십시오 .


답변

mariadb-10.1.24 (Fedora 24)에서 비밀번호 확인을 비활성화하려면 /etc/my.cnf.d/cracklib_password_check.cnf 파일 에서 줄을 주석 처리해야했습니다 .

;plugin-load-add=cracklib_password_check.so

그런 다음 mariadb 서비스를 다시 시작하십시오.

systemctl restart mariadb.service


답변

mysql 구성 파일에서 파일을 구성 할 수 있습니다. 파일 열기이 /etc/my.cnf파일에서 비밀번호 정책을 구성하는 모든 행은 다음과 같이 주석 처리됩니다.

#validate-password=FORCE_PLUS_PERMANENT
#validate_password_length=10
#validate_password_mixed_case_count=1
#validate_password_number_count=1
#validate_password_policy=MEDIUM

주석을 변경하고 변경하려는 특성 값을 변경하십시오.


답변

예외를 만들고 싶다면 다음 “해킹”을 적용하면됩니다. 그것은을 가진 사용자 요구 DELETEINSERT에 대한 권한 mysql.plugin시스템 테이블을.

uninstall plugin validate_password;
SET PASSWORD FOR 'app' = PASSWORD('abcd');
INSTALL PLUGIN validate_password SONAME 'validate_password.so';

Bland 보안 면책 조항 : 암호를 더 짧게 또는 더 쉽게 만드는 이유를 고려하고 더 복잡한 암호로 바꾸는 것을 고려하십시오. 그러나 나는 “3AM이고 작동해야한다”는 순간을 이해하고 있으며, 해킹 시스템을 구축하지 않도록주의하십시오.


답변

ktbos의 답변 외에도

mysqld.cnf 파일을 수정했는데 mysql을 시작하지 못했습니다. 잘못된 파일을 수정하고있는 것으로 나타났습니다!

따라서 수정 한 파일에 [mysqld_safe] 및 [mysqld]와 같은 세그먼트 태그가 포함되어 있는지 확인하십시오. 후자에서 나는 제안대로 행을 추가했다.

validate_password_policy=LOW

이것은 암호 내에 특수 문자가 필요하지 않은 문제를 해결하기 위해 완벽하게 작동했습니다.