Sådan deaktiveres root login-adgang til PhpMyAdmin


Hvis du planlægger at bruge phpmyadmin regelmæssigt til at administrere dine databaser over netværket (eller værre over internettet!), Vil du ikke bruge rodkontoen. Dette gælder ikke kun for phpmyadmin, men også for enhver anden webbaseret grænseflade.

I /etc/phpmyadmin/config.inc.php skal du kigge efter følgende linje og sørge for, at AllowRoot -direktivet er indstillet til FALSE:

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

I Ubuntu/Debian skal du tilføje disse to linjer som vist:

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

Gem ændringer, og genstart Apache.

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

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

Følg derefter trinene beskrevet i ovenstående tip for at komme til phpmyadmin-login-siden ( https://phpmyadmin ) og prøv at logge ind som root:

Opret derefter forbindelse til din MySQL/MariaDB-database via kommandoprompten, og ved hjælp af rodlegitimationsoplysninger skal du oprette så mange konti som nødvendigt for at få adgang til en database hver. I dette tilfælde opretter vi en konto med navnet jdoe med adgangskoden 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)

Lad os derefter logge ind ved hjælp af ovenstående legitimationsoplysninger. Som du kan se, har denne konto kun adgang til kun en database:

Tillykke! Du har deaktiveret rootadgang til din phpmyadmin-installation og kan nu bruge den til at administrere dine databaser.

Jeg anbefaler dig stærkt at tilføje et ekstra lag af sikkerhed til din phpmyadmin-installation med opsætning HTTPS (SSL-certifikat) for at undgå at sende brugernavn og adgangskode i almindeligt tekstformat over netværket.