Wyszukiwanie w witrynie

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:///phpmyadmin) 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ć.