「GRANT USAGE」を削除できません


15

私はいくつかのものをテストしていましたが、追加しました:

grant usage on statistics.* to cptnotsoawesome@localhost identified by 'password';

だから今私がするとき

show grants for cptnotsoawesome@localhost;

それらの1つが次のように表示されます。

Grants for cptnotsoawesome@localhost
----------------------------------
GRANT USAGE ON *.* TO 'cptnotsoawesome'@'localhost' IDENTIFIED BY PASSWORD 'somePEW-PEWstring' 

今、私はそれがセキュリティ上の危険だと思うのでそれを削除したいので、私はそれをします:

REVOKE USAGE ON *.* FROM 'cptnotsoawesome'@'localhost' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;

しかし、それでもUSAGEがグラントリストにあることを示しています。

Grants for cptnotsoawesome@localhost
----------------------------------
GRANT USAGE ON *.* TO 'cptnotsoawesome'@'localhost' IDENTIFIED BY PASSWORD 'somePEW-PEWstring' 

なぜアイデアがありますか?何が間違っていますか?

回答:


19

内部では、USAGEのみのユーザーが表示されると、そのユーザーはmysql.userテーブルに書き込まれ、すべてのグローバル権限がオフになっています。

あなたはもともと、ユーザーがこれを持っていたと述べました:

grant usage on statistics.* to cptnotsoawesome@localhost identified by 'password'; 

mysql.userMD5パスワードとすべてのグローバルprivsがに設定された行が表示されNます。また、mysql.dbに次の行が表示されます。

  • user = 'cptnotsoawesome'
  • host = 'localhost'
  • db = 'statistics'
  • 「Y」に設定されたすべてのDBレベルの特権

このクエリでそれらを見ることができるはずです

SELECT * FROM mysql.db
WHERE user='cptnotsoawesome'
AND host='localhost'
AND db='statistics'\G

REVOKEコマンドを実行したときは、単にから行を削除しましたmysql.db。これはの行には触れませんでしたmysql.user。したがって、mysqlにログインし、実行する特権のみを持つことができます。

SHOW GLOBAL VARIABLES;
SHOW GLOBAL STATUS;

呼び出されたテストデータベースtestまたは最初の5文字がtest_であるデータベースがある場合(を使用して検索SELECT * FROM mysql.db WHERE db LIKE 'test%';)、USAGEのみを持つユーザーは、テストデータベースに対する完全な権限を持つことができます。ServerFault 2011年9月にこれについて書きました

mysql.userから行を削除する場合は、次のいずれかを実行できます。

DROP USER cptnotsoawesome@localhost;

または

DELETE FROM mysql.user WHERE
WHERE user='cptnotsoawesome'
AND host='localhost';
FLUSH PRIVILEGES;

9

USAGE は、ユーザーに特権がないことを意味します。

You have to use 'DROP USER'. 

drop user cptnotsoawesome@localhost;

ユーザーを削除せずに、実際にUSAGEを取り消すことはできません。USAGEはグローバルレベルの特権です。

見ていこのリンクを


それがセキュリティの脅威またはそのようなものである場合など、データベースに何か悪いことをしていた場合、私はそれを行います-そうでなければ-私はそれを残すかもしれません
-Katafalkas

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.