Hoe root-inlogtoegang tot PhpMyAdmin uit te schakelen
Als u van plan bent phpmyadmin regelmatig te gebruiken om uw databases via het netwerk (of erger nog, via internet!) te beheren, wilt u niet de root gebruiken > rekening. Dit geldt niet alleen voor phpmyadmin, maar ook voor elke andere webgebaseerde interface.
Zoek in /etc/phpmyadmin/config.inc.php
naar de volgende regel en zorg ervoor dat de AllowRoot
richtlijn is ingesteld op FALSE:
$cfg['Servers'][$i]['AllowRoot'] = FALSE;
In Ubuntu/Debian moet je deze twee regels toevoegen, zoals weergegeven:
/* Authentication type */
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['AllowRoot'] = false;
Sla de wijzigingen op en start Apache opnieuw.
------------- On CentOS/RHEL Systems -------------
systemctl restart httpd.service
------------- On Debian/Ubuntu Systems -------------
systemctl restart apache2.service
Volg daarna de stappen in de bovenstaande tips om naar de inlogpagina van phpmyadmin te gaan (https://
) en probeer in te loggen als root:
Maak vervolgens via de opdrachtprompt verbinding met uw MySQL/MariaDB-database en maak met root-inloggegevens zoveel accounts aan als nodig is om toegang te krijgen tot één database. In dit geval maken we een account aan met de naam jdoe met wachtwoord 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)
Laten we vervolgens inloggen met de bovenstaande inloggegevens. Zoals u kunt zien, heeft dit account slechts toegang tot slechts één database:
Gefeliciteerd! U heeft root-toegang tot uw phpmyadmin-installatie uitgeschakeld en kunt deze nu gebruiken om uw databases te beheren.
Ik raad u ten zeerste aan om een extra beveiligingslaag toe te voegen aan uw phpmyadmin-installatie met .htaccess-wachtwoordbeveiliging en HTTPS (SSL-certificaat) in te stellen om te voorkomen dat gebruikersnaam en wachtwoord worden verzonden in platte tekst via netwerk.