Kat*_*kas 15 mysql permissions
我正在测试一些东西,并添加了一个:
grant usage on statistics.* to cptnotsoawesome@localhost identified by 'password';
Run Code Online (Sandbox Code Playgroud)
所以现在当我做
show grants for cptnotsoawesome@localhost;
Run Code Online (Sandbox Code Playgroud)
我可以看到其中之一是:
Grants for cptnotsoawesome@localhost
----------------------------------
GRANT USAGE ON *.* TO 'cptnotsoawesome'@'localhost' IDENTIFIED BY PASSWORD 'somePEW-PEWstring'
Run Code Online (Sandbox Code Playgroud)
现在我想删除它,因为我认为它存在安全隐患,所以我这样做:
REVOKE USAGE ON *.* FROM 'cptnotsoawesome'@'localhost' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
Run Code Online (Sandbox Code Playgroud)
但它仍然显示授权列表中的USAGE grant。
Grants for cptnotsoawesome@localhost
----------------------------------
GRANT USAGE ON *.* TO 'cptnotsoawesome'@'localhost' IDENTIFIED BY PASSWORD 'somePEW-PEWstring'
Run Code Online (Sandbox Code Playgroud)
任何想法为什么?我究竟做错了什么?
Rol*_*DBA 20
在幕后,当您看到只有 USAGE 的用户时,该用户被写入 mysql.user 表中,并且所有全局权限都已关闭。
您最初表示用户有这个:
grant usage on statistics.* to cptnotsoawesome@localhost identified by 'password';
Run Code Online (Sandbox Code Playgroud)
您应该看到一行mysql.user
MD5 密码和所有全局权限设置为N
. 您还应该在 mysql.db 中看到一行
您应该能够通过此查询看到它们
SELECT * FROM mysql.db
WHERE user='cptnotsoawesome'
AND host='localhost'
AND db='statistics'\G
Run Code Online (Sandbox Code Playgroud)
当您运行 REVOKE 命令时,您只需从mysql.db
. 这没有触及中的行mysql.user
。因此,您仍然可以登录到 mysql 并且只有运行权限
SHOW GLOBAL VARIABLES;
SHOW GLOBAL STATUS;
Run Code Online (Sandbox Code Playgroud)
如果有一个名为的测试数据库test
或一个数据库的前 5 个字符是test_
,(使用 查找它SELECT * FROM mysql.db WHERE db LIKE 'test%';
)那么只有 USAGE 的用户可以拥有测试数据库的完全权限。我在 ServerFault Sep 2011 中写了这个。
如果您想从 mysql.user 中删除该行,您可以运行
DROP USER cptnotsoawesome@localhost;
Run Code Online (Sandbox Code Playgroud)
或者
DELETE FROM mysql.user WHERE
WHERE user='cptnotsoawesome'
AND host='localhost';
FLUSH PRIVILEGES;
Run Code Online (Sandbox Code Playgroud)
Abd*_*naf 11
USAGE 表示用户没有任何权限。
You have to use 'DROP USER'.
Run Code Online (Sandbox Code Playgroud)
drop user cptnotsoawesome@localhost;
在不删除用户的情况下,您实际上无法撤销 USAGE。USAGE 是全局级别的权限。
看看这个链接。
归档时间: |
|
查看次数: |
34336 次 |
最近记录: |