रूट लॉगिन को PhpMyAdmin में कैसे डिसेबल करें


यदि आप नेटवर्क पर (या इससे भी बदतर, इंटरनेट पर!) डेटाबेस का प्रबंधन करने के लिए नियमित आधार पर phpmyadmin का उपयोग करने की योजना बना रहे हैं, तो आप रूट खाते का उपयोग नहीं करना चाहते हैं। यह न केवल phpmyadmin के लिए बल्कि किसी अन्य वेब-आधारित इंटरफ़ेस के लिए भी मान्य है।

/etc/phpmyadmin/config.inc.php में, निम्न पंक्ति देखें और सुनिश्चित करें कि AllowRoot निर्देश FALSE पर सेट है:

$cfg['Servers'][$i]['AllowRoot'] = FALSE;

उबंटू/डेबियन में, आपको इन दो पंक्तियों को जोड़ने की आवश्यकता है:

/* Authentication type */
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['AllowRoot'] = false;

परिवर्तन सहेजें और अपाचे को पुनरारंभ करें।

------------- On CentOS/RHEL Systems -------------
# systemctl restart httpd.service

------------- On Debian/Ubuntu Systems -------------
# systemctl restart apache2.service

फिर phpmyadmin लॉगइन पेज ( https://phpmyadmin ) पर जाने के लिए उपरोक्त युक्तियों में बताए गए चरणों का पालन करें और रूट के रूप में लॉगिन करने का प्रयास करें:

फिर कमांड प्रॉम्प्ट के माध्यम से अपने MySQL/MariaDB डेटाबेस से कनेक्ट करें और रूट क्रेडेंशियल्स का उपयोग करते हुए, प्रत्येक डेटाबेस तक पहुंचने के लिए आवश्यक के रूप में कई खाते बनाएं। इस स्थिति में हम पासवर्ड jdoespassword वाले jdoe नाम से एक खाता बनाएंगे:

# mysql -u root -p
Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 24
Server version: 10.1.14-MariaDB MariaDB Server

Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> CREATE USER 'jdoe'@'localhost' IDENTIFIED BY 'jdoespassword';
Query OK, 0 rows affected (0.04 sec)

MariaDB [(none)]> GRANT ALL PRIVILEGES ON gestion.* to 'jdoe'@'localhost';
Query OK, 0 rows affected (0.00 sec)

फिर उपरोक्त क्रेडेंशियल्स का उपयोग करके लॉगिन करें। जैसा कि आप देख सकते हैं, इस खाते में केवल एक ही डेटाबेस तक पहुँच है:

बधाई हो! आपने अपने phpmyadmin स्थापना के लिए रूट एक्सेस को निष्क्रिय कर दिया है और अब इसका उपयोग अपने डेटाबेस को प्रबंधित करने के लिए कर सकते हैं।

मैं आपको नेटवर्क पर सादा पाठ प्रारूप में उपयोगकर्ता नाम और पासवर्ड भेजने से बचने के लिए सेटअप HTTPS (SSL प्रमाणपत्र) के साथ अपने phpmyadmin स्थापना के लिए सुरक्षा की एक अतिरिक्त परत जोड़ने की जोरदार सलाह देता हूं।