Jak wyłączyć dostęp do konta root w PhpMyAdmin
Jeśli planujesz regularnie używać phpmyadmin do zarządzania bazami danych przez sieć (lub, co gorsza, przez Internet!), nie chcesz używać root > konto. Dotyczy to nie tylko phpmyadmin, ale także każdego innego interfejsu internetowego.
W /etc/phpmyadmin/config.inc.php
odszukaj następujący wiersz i upewnij się, że dyrektywa AllowRoot
jest ustawiona na FALSE:
$cfg['Servers'][$i]['AllowRoot'] = FALSE;
W Ubuntu/Debianie musisz dodać te dwie linie, jak pokazano:
/* Authentication type */
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['AllowRoot'] = false;
Zapisz zmiany i uruchom ponownie Apache.
------------- On CentOS/RHEL Systems -------------
systemctl restart httpd.service
------------- On Debian/Ubuntu Systems -------------
systemctl restart apache2.service
Następnie wykonaj kroki opisane w powyższych wskazówkach, aby przejść do strony logowania phpmyadmin (https://
) i spróbuj zalogować się jako root:
Następnie połącz się z bazą danych MySQL/MariaDB za pomocą wiersza poleceń i korzystając z danych uwierzytelniających root, utwórz tyle kont, ile potrzeba, aby każde miało dostęp do jednej bazy danych. W tym przypadku utworzymy konto o nazwie jdoe z hasłem jdoespassword:
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)
Następnie zalogujmy się przy użyciu powyższych danych uwierzytelniających. Jak widać, to konto ma dostęp tylko do jednej bazy danych:
Gratulacje! Wyłączyłeś dostęp root do instalacji phpmyadmin i możesz teraz używać go do zarządzania bazami danych.
Zdecydowanie zalecam dodanie dodatkowej warstwy zabezpieczeń do instalacji phpmyadmin z ochroną hasłem .htaccess i skonfigurowaniem protokołu HTTPS (certyfikat SSL), aby uniknąć wysyłania nazwy użytkownika i hasła w formacie zwykłego tekstu przez sieć.