PhpMyAdmin への root ログイン アクセスを無効にする方法
定期的に phpmyadmin を使用してネットワーク経由 (またはさらに悪いことにインターネット経由!) でデータベースを管理する予定がある場合は、root を使用したくないでしょう。 >アカウント。これは、phpmyadmin だけでなく、他の Web ベースのインターフェイスにも当てはまります。
/etc/phpmyadmin/config.inc.php
で次の行を探し、AllowRoot
ディレクティブがFALSE に設定されていることを確認します。
$cfg['Servers'][$i]['AllowRoot'] = FALSE;
Ubuntu/Debian では、次の 2 行を追加する必要があります。
/* Authentication type */
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['AllowRoot'] = false;
変更を保存し、Apache を再起動します。
------------- On CentOS/RHEL Systems -------------
systemctl restart httpd.service
------------- On Debian/Ubuntu Systems -------------
systemctl restart apache2.service
次に、上記のヒントで説明した手順に従って phpmyadmin ログイン ページ (https://
) にアクセスし、root としてログインしてみます。
次に、 コマンド プロンプト経由で MySQL/MariaDB データベースに接続し、root 認証情報を使用して、それぞれ 1 つのデータベースにアクセスするために必要な数のアカウントを作成します。この場合、jdoe という名前のアカウントを、パスワード 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)
次に、上記の認証情報を使用してログインしましょう。ご覧のとおり、このアカウントは 1 つのデータベースのみにアクセスできます。
おめでとう! phpmyadmin インストールへの root アクセスが無効になり、それを使用してデータベースを管理できるようになりました。
.htaccess パスワード保護を使用して phpmyadmin インストールに追加のセキュリティ層を追加し、ユーザー名とパスワードの送信を避けるために HTTPS (SSL 証明書) をセットアップすることを強くお勧めします。ネットワーク上でプレーンテキスト形式で送信されます。