ウェブサイト検索

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:///phpmyadmin) にアクセスし、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 証明書) をセットアップすることを強くお勧めします。ネットワーク上でプレーンテキスト形式で送信されます。