Kako onemogućiti root login pristup PhpMyAdmin-u


Ako planirate redovito koristiti phpmyadmin za upravljanje svojim bazama podataka preko mreže (ili još gore, preko Interneta!), ne želite koristiti root račun. Ovo vrijedi ne samo za phpmyadmin već i za bilo koje drugo web sučelje.

U /etc/phpmyadmin/config.inc.php potražite sljedeći redak i provjerite je li direktiva AllowRoot postavljena na FALSE:

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

U Ubuntu/Debian trebate dodati ova dva retka kao što je prikazano:

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

Spremite promjene i ponovno pokrenite Apache.

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

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

Zatim slijedite korake navedene u gornjim savjetima kako biste došli do stranice za prijavu na phpmyadmin (https:///phpmyadmin) i pokušajte se prijaviti kao root:

Zatim se povežite sa svojom MySQL/MariaDB bazom podataka putem naredbenog retka i, koristeći root vjerodajnice, kreirajte onoliko računa koliko je potrebno za pristup jednoj bazi podataka. U ovom slučaju izradit ćemo račun pod nazivom jdoe sa lozinkom 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)

Onda se prijavimo koristeći gore navedene vjerodajnice. Kao što vidite, ovaj račun ima pristup samo jednoj bazi podataka:

Čestitamo! Onemogućili ste root pristup vašoj phpmyadmin instalaciji i sada je možete koristiti za upravljanje svojim bazama podataka.

Toplo vam preporučam da svojoj instalaciji phpmyadmin dodate dodatni sloj sigurnosti s .htaccess zaštitom lozinkom i postavite HTTPS (SSL certifikat) kako biste izbjegli slanje korisničkog imena i lozinke u formatu običnog teksta putem mreže.