development

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

big-blog 2020. 6. 22. 07:19
반응형

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;

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


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 문서참조하십시오 .


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

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

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


Mysql의 Ubuntu 18.04에서 문제가 발생했습니다. 새 사용자를 만들어야 할 때는 항상 정책이 높았습니다.

조사 할 미래의 동료를 위해 비활성화하는 방법을 알아 낸 방법은 낮게 설정되었습니다.

루트로 mysql 서버에 로그인

mysql -h localhost -u root -p

새로운 유형의 유효성 검사 설정

SET GLOBAL validate_password_policy=0; //For Low

MySQL을 다시 시작

sudo service mysql restart

CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'organizer'@'localhost'  WITH GRANT OPTION;

CREATE USER 'username'@'%' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'organizer'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

mysql을 중지 / 시작할 필요가 없습니다


제거:

mysql> uninstall plugin validate_password;

제거 된 플러그인은 show plugins;

설치:

mysql> install plugin validate_password SONAME 'validate_password.so';

구성에 의해 비활성화 됨 :

[mysqld]
validate_password = OFF

플러그인은 설치되어있는 경우에만 구성으로 비활성화 할 수 있습니다.


mysql 8.0.7의 경우 mysql 디렉토리로 이동 한 후 다음을 사용하십시오.

sudo bin/mysql_secure_installation

비밀번호 옵션을 구성합니다.

참고 URL : https://stackoverflow.com/questions/36301100/how-do-i-turn-off-the-mysql-password-validation

반응형