我正在用Mysql版本5.7.22测试AWS RDS Mysql示例。
在要求特定用户的SSL后,“root”(. 上的授权用法TO“root '@”%“要求SSL;“),这是根的显示赠款的结果;
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Grants for root@% |
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD,
PROCESS, REFERENCES, INDEX, ALTER, SHOW DATABASES,
CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE,
REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE,
ALTER ROUTINE, CREATE USER, EVENT, TRIGGER ON *.* TO 'root'@'%'
WITH GRANT OPTION |
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
是否有任何方法可以检查用户是否需要ssl?Show赠款输出没有提到ssl。我认为Show grants是正确的命令,因为ssl最初是通过GRANT USAGE在用户上要求的。
3条答案
按热度按时间tag5nh1u1#
在这里你可以看到所有使用REQUIRE SSL的用户(适用于MySQL 5.7和其他):
cxfofazt2#
我发现的一件事是,从客户端,你可以运行status来确定当前的连接是否使用ssl,但不确定是否有一种方法可以为特定的用户做到这一点。
编辑
ChrisWhite的解决方案(MySQL: REQUIRE SSL not shown in grants)适用于特定用户
tag5nh1u3#
使用DDL(更容易)
您可以按照documentation中的说明获取用户的DDL:
SHOW CREATE USER 'user'@'localhost';
然后检查是否在显示的创建用户请求中找到
REQUIRE SSL
。使用
status
命令正如@committedandroider所述,您可以使用
status
命令查看当前用户是否使用SSL登录,如果它被写成SSL: Not in use
,则表示当前没有使用它。要强制不使用SSL的连接,您可以使用
--skip-ssl
或在新的mysql版本上使用--ssl-mode=DISABLED
选项:mysql -u username -p --ssl-mode=DISABLED
。如果访问被拒绝,可能是因为需要ssl(但也可能是其他原因导致的,所以我更愿意使用DDL选项)。