Kako onemogućiti root pristup na PhpMyAdmin


Ako planirate da koristite phpmyadmin na redovnoj osnovi za upravljanje vašim 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 koji drugi web-bazirani interfejs.

U /etc/phpmyadmin/config.inc.php, potražite sljedeći red i uvjerite se da je AllowRoot direktiva postavljena na FALSE:

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

U Ubuntu/Debianu morate dodati ove dvije linije kao što je prikazano:

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

Sačuvajte promjene i ponovo 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 da dođete do stranice za prijavu na phpmyadmin (https:///phpmyadmin) i pokušajte se prijaviti kao root:

Zatim se povežite sa vašom bazom podataka MySQL/MariaDB putem komandne linije i, koristeći root akreditive, kreirajte onoliko naloga koliko je potrebno za pristup po jednoj bazi podataka. U ovom slučaju ćemo kreirati 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)

Zatim se prijavimo koristeći gore navedene vjerodajnice. Kao što vidite, ovaj nalog ima pristup samo jednoj bazi podataka:

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

Preporučujem vam da dodate dodatni nivo sigurnosti vašoj phpmyadmin instalaciji sa .htaccess zaštitom lozinkom i postavite HTTPS (SSL certifikat) kako biste izbjegli slanje korisničkog imena i lozinke u formatu običnog teksta preko mreže.