আমি কীভাবে মাইএসকিএল পাসওয়ার্ডের বৈধতা বন্ধ করব?


153

দেখে মনে হচ্ছে যে আমি অজ্ঞাতসারে মাইএসকিউএল 5.7-এ পাসওয়ার্ডের বৈধতা প্লাগইনটি লোড করেছি। এই প্লাগইনটি সমস্ত পাসওয়ার্ডগুলিকে কিছু নির্দিষ্ট নিয়ম মেনে চলতে বাধ্য করে।

আমি এটি বন্ধ করতে চাই।

আমি এখানে প্রস্তাবিত হিসাবে বৈধতা_পাসওয়ার্ড_লেন্থ ভেরিয়েবল পরিবর্তন করার চেষ্টা করেছি ।

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

আমি হয় প্লাগইনটি আনলোড করতে চাইব বা এটি কোনওরকমভাবে নিউটার করব।


9
আপনি কি নীতি সেটিং পরিবর্তন করার চেষ্টা করেছেন? SET GLOBAL validate_password_policy=LOW;
রিক্কি

1
SET GLOBAL validate_password.policy=LOW;
বেলগ্যাসিয়া

উত্তর:


430

বৈধতা পাসওয়ার্ড প্লাগইন অপসারণ করতে আমি এখানে যা করছি:

  1. রুট হিসাবে মাইএসকিএল সার্ভারে লগইন করুন mysql -h localhost -u root -p
  2. নিম্নলিখিত sql কমান্ড চালান: uninstall plugin validate_password;
  3. যদি শেষ লাইনটি কাজ না করে (নতুন মাইএসকিএল প্রকাশ), আপনার কার্যকর করা উচিত UNINSTALL COMPONENT 'file://component_validate_password';

আমি একটি উত্পাদন সিস্টেমের জন্য এই সমাধানটি সুপারিশ করব না। আমি স্থানীয় উন্নয়ন মাইএসকিএল উদাহরণে এই সমাধানটি শুধুমাত্র উন্নয়নের উদ্দেশ্যে ব্যবহার করেছি।


18
এটি আবার সক্ষম করতে, নিম্নলিখিত কমান্ডটি ব্যবহার করুন: INSTALL PLUGIN validate_password SONAME 'validate_password.so';
vchrizz

8
প্লাগইনটি সরাতে আপনাকে কমপক্ষে একবার grep 'password' /var/log/mysqld.log | tail -1এবং তারপরে একটি সুরক্ষিত পাসওয়ার্ড সেটআপ করতে হবে /usr/bin/mysql_secure_installation। এটি করার পরে আপনি উপরের srayhunter থেকে কমান্ডগুলি চালাতে পারেন এবং mysqladmin -u root -p'oldpassword' password newpassআপনার পছন্দ মতো কোনও পাসওয়ার্ড ব্যবহার করতে চালাতে পারেন।

2
প্লাগইনটি cracklib_password_checkবর্তমান মারিয়াডিবিতে ডাকা হয়।
সিজারি

27
দ্রষ্টব্য: মাইএসকিউএল ৮.০.৪ এ, বৈধতা_প্যাসওয়ার্ড প্লাগইনটি বৈধতা_প্যাসওয়ার্ড উপাদান হিসাবে পুনরায় প্রয়োগ করা হয়েছিল। উপরের # 2 ক্যোয়ারির পরিবর্তে, চালান:UNINSTALL COMPONENT 'file://component_validate_password';
অ্যারন কিকালি

4
mysql> SET GLOBAL validate_password_policy = 0;
JREAM

41

আমি মাইএসকিউএল ভি 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

34

শারফি থেকে উত্তরের উপর ভিত্তি করে, /etc/my.cnf ফাইলটি সম্পাদনা করুন এবং এই এক লাইন যুক্ত করুন:

validate_password_policy=LOW

ওপি-র অনুরোধ অনুসারে এটি বৈধতা পর্যাপ্তরূপে হওয়া উচিত। আপনি সম্ভবত এই পরিবর্তনের পরে mysqld পুনরায় আরম্ভ করতে চাইবেন। আপনার ওএসের উপর নির্ভর করে এটি দেখতে এমন কিছু দেখাচ্ছে:

sudo service mysqld restart

বৈধতা_প্যাসওয়ার্ড_পলিসি 0, 1, বা 2 বা লও, মিডিয়াম এবং স্ট্রং এর সাথে মানগুলি নিয়ে যায় যা এই সংখ্যার সাথে মিলে যায়। ডিফল্টটি মিডিয়াম (1) যা পাসওয়ার্ডে কমপক্ষে একটি বড় হাতের অক্ষর, একটি ছোট হাতের অক্ষর, একটি অঙ্ক এবং একটি বিশেষ অক্ষর থাকতে পারে এবং মোট পাসওয়ার্ডের দৈর্ঘ্য কমপক্ষে 8 টি অক্ষর হতে পারে। আমি এখানে যেমন পরামর্শ দিচ্ছি ততই নিম্নে পরিবর্তন করা কেবল দৈর্ঘ্যের জন্য যাচাই করবে, এটি যদি অন্য প্যারামিটারগুলির মাধ্যমে পরিবর্তন না করা হয় তবে এটি দৈর্ঘ্য ৮ টি পরীক্ষা করবে will আপনি যদি এই দৈর্ঘ্যের সীমাটিও ছোট করতে চান, আপনি এতে বৈধিকেল_পাসওয়ার্ড_লেন্থ যোগ করতে পারতেন my.cnf ফাইল।

মাত্রা এবং বিবরণ সম্পর্কে আরো তথ্যের জন্য, দেখুন মাইএসকিউএল ডক


মাইএসকিউএল 8-এর জন্য, সম্পত্তিটি "বৈধতা_প্যাসওয়ার্ড_পলিসি" থেকে "বৈধতা_প্যাসওয়ার্ড.পলিসি" তে পরিবর্তিত হয়েছে। সর্বশেষ তথ্যের জন্য আপডেট হওয়া মাইএসকিএল ডকটি দেখুন ।


6
যদি আপনার কেবলমাত্র একটি অস্থায়ী পরিবর্তন প্রয়োজন হয়, একটি একক পাসওয়ার্ড সেট করার অনুমতি দেওয়ার জন্য, আপনি ব্যবহার করতে পারেনSET GLOBAL validate_password_policy=LOW;
রিক্কি

1
এটি মডিউল নিজেই সরানোর চেয়ে ভাল সমাধান।
মৃগেশ মিস্ত্রি

2
mysql: অজানা পরিবর্তনশীল '
বৈধতা_প্যাসওয়ার্ড_পলিসি

2
ভেরিয়েবলের নামটি সর্বশেষ মাইএসকিউএল-তে পরিবর্তিত হয়েছে বলে মনে হচ্ছে। @ অমলগোভিনাস, পরিবর্তে "ভেরিয়েট_প্যাসওয়ার্ড.পলিসি" নামটি ব্যবহার করে দেখুন এবং এটি আপনার পক্ষে কার্যকর কিনা তা দেখুন। এবং যদি এটি হয়, আমি আমার উত্তর আপডেট করব।
কেটিবস

6

মারিয়্যাডবি -10.1.24 (ফেডোরা 24) -র পাসওয়ার্ড চেক অক্ষম করতে আমাকে /etc/my.cnf.d/cracklib_password_check.cnf ফাইলে একটি লাইন মন্তব্য করতে হয়েছিল :

;plugin-load-add=cracklib_password_check.so

তারপরে মারিয়্যাডবি পরিষেবা পুনরায় চালু করুন:

systemctl restart mariadb.service

4

আপনি এটি মাইএসকিএল কনফিগারেশন ফাইলটিতে কনফিগার করতে পারেন ওপেন /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

আপনি যে বৈশিষ্ট্যগুলি পরিবর্তন করতে চান তার মূল্যবোধ কমেন্ট করুন এবং পরিবর্তন করুন।


2

আপনি যদি ব্যতিক্রম করতে চান তবে নীচের "হ্যাক" প্রয়োগ করতে পারেন। এটির জন্য সিস্টেম সারণির জন্য ব্যবহারকারী DELETEএবং INSERTঅধিকার প্রয়োজন mysql.plugin

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

ব্ল্যান্ড সিকিউরিটি অস্বীকৃতি: আপনি কেন নিজের পাসওয়ার্ডকে আরও খাটো বা সহজ করে তুলছেন এবং সম্ভবত এটি আরও জটিল এটির সাথে প্রতিস্থাপনের বিষয়টি বিবেচনা করুন Consider তবে, আমি "এটি 3 টা এএম এবং কেবলমাত্র কাজ করা দরকার" মুহুর্তগুলি বুঝতে পেরেছি, কেবল নিশ্চিত করুন যে আপনি হ্যাকগুলির একটি সিস্টেম তৈরি করছেন না, যাতে না হয় আপনি নিজেই হ্যাক হন be


2

কেটিবোসের উত্তর থেকে আরও:

আমি mysqld.cnf ফাইলটি সংশোধন করেছি এবং mysql শুরু করতে ব্যর্থ to দেখা গেল যে আমি ভুল ফাইলটি সংশোধন করছি!

সুতরাং নিশ্চিত হয়ে নিন যে আপনি যে ফাইলটি সংশোধন করেছেন সেটিতে [মাইএসকিএলডি_সেসেফ] এবং [মাইএসকিএলডি] এর মতো সেগমেন্ট ট্যাগ রয়েছে। পরবর্তীগুলির অধীনে আমি প্রস্তাবিত হিসাবে এবং লাইনটি যুক্ত করেছি:

validate_password_policy=LOW

এটি পাসওয়ার্ডের মধ্যে বিশেষ চরিত্রের প্রয়োজন না আমার সমস্যা সমাধানে নিখুঁতভাবে কাজ করেছে।


1

আনইনস্টল করুন:

mysql> uninstall plugin validate_password;

একটি আনইনস্টল প্লাগইন দ্বারা প্রদর্শিত হয় না show plugins;

ইনস্টল করুন:

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

কনফিগারেশন দ্বারা অক্ষম:

[mysqld]
validate_password = OFF

একটি প্লাগইন ইনস্টল থাকলেই কনফিগারেশন দ্বারা অক্ষম করা যায়।


0

মাইকিউএল-তে উবুন্টু 18.04 এ আমার একটি সমস্যা হয়েছিল। আমার যখন নতুন ব্যবহারকারী তৈরি করার দরকার হয়েছিল তখন নীতিটি সর্বদা উচ্চ ছিল।

ভবিষ্যতে যেসব সহকর্মীরা তদন্তে আসবেন, তাদের কীভাবে অক্ষম করবেন তা আমি কীভাবে নির্ধারণ করেছি low

রুট হিসাবে মাইএসকিএল সার্ভারে লগইন করুন

mysql -h localhost -u root -p

নতুন ধরণের বৈধতা সেট করুন

SET GLOBAL validate_password_policy=0; //For Low

মাইএসকিএল পুনরায় চালু করুন

sudo service mysql restart

1
মাইএসকিএল শেলটিতে আপনাকে এই "সেট ..." কমান্ডটি লিখতে হবে। বাশ শেল না।
কোডম্যান্যঘাট

0

কিছু ইনস্টলেশনগুলিতে আপনি রুট পাসওয়ার্ডটি পুনরায় সেট না করা পর্যন্ত আপনি এই আদেশটি কার্যকর করতে পারবেন না। আপনি এই আদেশটি কার্যকর না করা পর্যন্ত আপনি মূল পাসওয়ার্ডটি পুনরায় সেট করতে পারবেন না। ক্লাসিক ক্যাচ -22।

অন্যান্য উত্তরদাতাদের দ্বারা উল্লিখিত না হওয়া একটি সমাধান হ'ল মাইএসকিএল কনফিগারেশনের মাধ্যমে প্লাগইন সাময়িকভাবে অক্ষম করা। যে কোনও my.cnf, [mysqld]বিভাগে, যোগ করুন:

skip-validate_password=1

এবং সার্ভারটি পুনরায় চালু করুন। পাসওয়ার্ড পরিবর্তন করুন, এবং মানটি 0 এ সেট করে আবার চালু করুন art


এটি কাজ করে না এটি কোন মাইএসকিএল সংস্করণে প্রযোজ্য তা উল্লেখ করতে পারেন?
ডেভ ডোগা ওজ

0

তথ্যসূত্র এবং ভবিষ্যতের জন্য, এখানে ডকটি পড়তে হবে https://dev.mysql.com/doc/mysql-secure-dep دام-guide/5.7/en/secure-depدام-password-uthoration.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অংশটি ভুলে যান তবে পুনরায় চালু করার সময় আপনি এটি একটি ত্রুটি করবেন।

উপভোগ করুন!


-1

Mysql 8.0.7 এর জন্য, আপনার mysql ডিরেক্টরিতে যান এবং তারপরে ব্যবহার করুন:

sudo bin/mysql_secure_installation

পাসওয়ার্ড বিকল্প কনফিগার করতে।


-2
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 থামাতে / শুরু করার দরকার নেই no

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.