Jak zakázat přístup root přihlášení k PhpMyAdmin
Pokud plánujete pravidelně používat phpmyadmin ke správě databází přes síť (nebo v horším případě přes internet!), nechcete používat root účet. To platí nejen pro phpmyadmin, ale také pro jakékoli jiné webové rozhraní.
V /etc/phpmyadmin/config.inc.php
vyhledejte následující řádek a ujistěte se, že direktiva AllowRoot
je nastavena na FALSE:
$cfg['Servers'][$i]['AllowRoot'] = FALSE;
V Ubuntu/Debian musíte přidat tyto dva řádky, jak je znázorněno:
/* Authentication type */
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['AllowRoot'] = false;
Uložte změny a restartujte Apache.
------------- On CentOS/RHEL Systems -------------
systemctl restart httpd.service
------------- On Debian/Ubuntu Systems -------------
systemctl restart apache2.service
Poté postupujte podle kroků uvedených ve výše uvedených tipech, abyste se dostali na přihlašovací stránku phpmyadmin (https://
) a zkuste se přihlásit jako root:
Poté se pomocí příkazového řádku připojte ke své databázi MySQL/MariaDB a pomocí root pověření vytvořte tolik účtů, kolik je potřeba pro přístup k každé databázi. V tomto případě vytvoříme účet s názvem jdoe s heslem 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)
Poté se přihlaste pomocí výše uvedených přihlašovacích údajů. Jak vidíte, tento účet má přístup pouze k jedné databázi:
Gratulujeme! Zakázali jste root přístup k vaší instalaci phpmyadmin a nyní jej můžete používat ke správě svých databází.
Důrazně vám doporučuji přidat do instalace phpmyadmin další vrstvu zabezpečení pomocí ochrany heslem .htaccess a nastavit HTTPS (certifikát SSL), abyste se vyhnuli odesílání uživatelského jména a hesla ve formátu prostého textu přes síť.