Com desactivar l'accés d'inici de sessió root a PhpMyAdmin


Si teniu previst utilitzar phpmyadmin de manera regular per gestionar les vostres bases de dades a la xarxa (o pitjor, a Internet!), no voleu utilitzar el compte root. Això és vàlid no només per a phpmyadmin sinó també per a qualsevol altra interfície basada en web.

A /etc/phpmyadmin/config.inc.php, cerqueu la línia següent i assegureu-vos que la directiva AllowRoot estigui establerta en FALSE:

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

A Ubuntu/Debian, heu d'afegir aquestes dues línies tal com es mostra:

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

Deseu els canvis i reinicieu Apache.

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

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

A continuació, seguiu els passos descrits als consells anteriors per accedir a la pàgina d'inici de sessió de phpmyadmin (https:///phpmyadmin) i proveu d'iniciar sessió com a root:

A continuació, connecteu-vos a la vostra base de dades MySQL/MariaDB mitjançant l'indicador d'ordres i, utilitzant les credencials root, creeu tants comptes com sigui necessari per accedir a una base de dades cadascun. En aquest cas, crearem un compte anomenat jdoe amb la contrasenya 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)

A continuació, iniciem la sessió amb les credencials anteriors. Com podeu veure, aquest compte només té accés a una base de dades:

Felicitats! Heu desactivat l'accés root a la vostra instal·lació de phpmyadmin i ara podeu utilitzar-lo per gestionar les vostres bases de dades.

Us recomano que afegiu una capa addicional de seguretat a la vostra instal·lació de phpmyadmin amb la configuració HTTPS (certificat SSL) per evitar l'enviament de nom d'usuari i contrasenya en format de text sense format a la xarxa.