programing

mysql 비밀번호 검증을 해제하려면 어떻게 해야 하나요?

randomtip 2022. 10. 22. 09:52
반응형

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

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

패스워드 검증 플러그인을 삭제하려면 다음과 같이 합니다.

  1. 에 root mysql로 로그인합니다.mysql -h localhost -u root -p
  2. 명령을 합니다.uninstall plugin validate_password;
  3. 하지 않는 릴리스 """ ("mysql") ""를 실행해야 .UNINSTALL COMPONENT 'file://component_validate_password';

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

mysql 8.0의 경우 패스워드 검증 컴포넌트를 디세블로 하는 명령어는 다음과 같습니다.

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) 입니다.패스워드는 적어도1개의 대문자와1개의 소문자,1자리 및1개의 특수문자를 포함해야 합니다.패스워드의 총 길이는 8자 이상이어야 합니다.여기서 제안하는 바와 같이 LOW로 변경하면 길이만 확인되며, 다른 파라미터에서 변경되지 않은 경우에는 길이 8이 확인됩니다.이 길이 제한을 줄이고 싶다면 my.cnf 파일에 validate_password_length를 추가할 수도 있습니다.

레벨 및 자세한 내용은 mysql 문서를 참조하십시오.


MySQL 8의 경우 속성이 "validate_password_policy"에서 "validate_password"로 변경되었습니다.정책"을 클릭합니다.최신 정보는 업데이트된 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 비밀번호 검증을 해제하려면 어떻게 해야 합니까?

간단한 답변:복잡성을 줄일 수 있습니다.

루트로 Mysql 클라이언트에 로그인합니다.

set global validate_password.policy = LOW;
set global validate_password.length = 2;
set global validate_password.mixed_case_count = 0;
set global validate_password.number_count = 0;
set global validate_password.special_char_count = 0;

로 proceed로 create user ...

예외를 두려면 다음과 같은 "해크"를 적용할 수 있습니다.여기에는 다음 권한을 가진 사용자가 필요합니다.mysql.plugin시스템 테이블

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

적절한 보안 면책 사항:패스워드를 짧게 하거나 간단하게 하는 이유를 생각해 보고, 보다 복잡한 패스워드로 교체하는 것을 검토해 주십시오.다만, 「오전 3시이기 때문에 기능하기만 하면 된다」라고 하는 것은 이해했습니다만, 해킹의 시스템을 구축하지 말아 주세요.해킹 시스템을 구축하지 말아 주세요.

이 open 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

변경할 속성 값을 주석 해제하고 변경합니다.

언인스톨:

mysql> uninstall plugin validate_password;

은 uninstalled 플러그인이 되지 .show plugins;

인스톨:

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

구성에 의해 비활성화됨:

[mysqld]
validate_password = OFF

플러그인은, 인스톨 되어 있는 경우에만, 구성에 의해서 무효로 할 수 있습니다.

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

설치에 따라서는 루트 비밀번호를 리셋할 때까지 이 명령을 실행할 수 없습니다.이 명령을 실행할 때까지 루트 비밀번호를 리셋할 수 없습니다.클래식 캐치-22

다른 응답자가 언급하지 않은 해결책 중 하나는 mysql 설정을 통해 플러그인을 일시적으로 비활성화하는 것입니다.의 ★★★★★★에my.cnf , 의[mysqld] 삭제, 삭제:

skip-validate_password=1

서버를 재기동합니다.암호를 변경하고 값을 0으로 다시 설정한 후 다시 시작합니다.

레퍼런스 및 장래에 대해서는http://https://dev.mysql.com/doc/mysql-secure-deployment-guide/5.7/en/secure-deployment-password-validation.html 를 참조해 주세요.

그 후, 의 편집이 필요하게 됩니다.mysqld.cnf파일(예:

vim /etc/mysql/mysql.conf.d/mysqld.cnf

그런 다음 [mysqld] 부분에 다음을 추가합니다.

plugin-load-add=validate_password.so
validate_password_policy=LOW

기본적으로 기본값을 편집하면 다음과 같이 표시됩니다.

[mysqld]
#
# * Basic Settings
#
user            = mysql
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
port            = 3306
basedir         = /usr
datadir         = /var/lib/mysql
tmpdir          = /tmp
lc-messages-dir = /usr/share/mysql
skip-external-locking
plugin-load-add=validate_password.so
validate_password_policy=LOW

다음에, 재기동할 수 있습니다.

systemctl restart mysql

잊으시면plugin-load-add=validate_password.so재시작 시 오류가 발생합니다.

맛있게 드세요!

MySQL 8에서는 상황이 조금 달라졌습니다(그러나 공정성은 기술적으로 좋습니다).로컬 MacOS 설치에서 암호를 제거하려고 시도하는 것을 포기했습니다.그래서 내가 깨달은 건, 이길 수 없다면, 그들과 함께 해!

이하에, 신속하고 더러운 솔루션을 제시하겠습니다.

  • HomeBrew 경유로 MySQL8 설치(디폴트로는 안전하지 않은 상태로 설치)
  • ~/.zshrc를 편집했습니다(그것이 제가 사용하는 셸이기 때문입니다). 다른 사용자는 .timeout_profile 또는 기타)를 사용할 수 있습니다.
    • nano ~/.zshrc
  • 에일리어스 행 2개 추가
    • alias mysql='mysql -uroot'
    • alias mysqladmin='mysqladmin -uroot'
  • 강요된 변화
    • source ~/.zshrc

그래서 이제, VIP를 사용하는 것에 대해 걱정하지 말고-u또는-p플래그가 자동으로 사용됩니다.mysql또는mysqladmin명령어를 지정합니다.

참고로 패스워드가 있는 경우에도 이 방법은 유효합니다.이 경우 단순히-pPASSWORD당신의 가명으로요.(예:alias mysql='mysql -uroot -pPASSWORD')

또한 다른 항목을 사용할 경우 별칭 행을 추가할 수 있습니다.mysql명령어를 지정합니다.

참고로 프로덕션 서버에서는 이 절차를 수행하지 마십시오.
그건 말할 필요도 없이...하지만 혹시 모르실까 봐.

mysql 8.0.7의 경우 mysql 디렉토리로 이동한 후 다음을 사용합니다.

sudo bin/mysql_secure_installation

패스워드 옵션을 설정합니다.

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을 중지/시작할 필요가 없습니다.

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

반응형