MariaDB默认无密码登录

先说解决办法…
①执行以下命令,查询账号信息(登录Mariadb客户端,使用mysql数据库)

select * from global_priv G;

执行命令结果如下,这里只关注root用户的信息,auth_or > plugin > unix_socket,身份验证插件unix_socket是一种无密码安全机制,所以使用此身份验证插件即会存在无密码可直接登录的情况。

MariaDB默认无密码登录

②、解决办法,将root用户切换到基于密码的身份验证,并设置登录密码

ALTER USER root@localhost IDENTIFIED VIA mysql_native_password USING PASSWORD("填登录密码");

PS:unix_socket 身份验证机制(官方文档)

安全:

身份验证插件unix_socket是一种无密码安全机制。它的安全性在于对 Unix 用户的访问强度,而不是密码的复杂性和保密性。由于安全性与密码不同,因此需要思考其优点和缺点,并且每次安装时这些优点和缺点都不一样。

优点:

  • 访问权限仅限于 Unix 用户,因此,例如,www-data用户无法root使用unix_socket身份验证插件进行访问。
  • 没有密码可以暴力破解。
  • 不存在因用户意外、备份安全性差或配置文件中的密码安全性差而意外泄露的密码。
  • 默认 Unix 用户安全性一般很强,可以防止远程访问和密码暴力尝试。

缺点:

  • 身份验证插件的强度unix_socket实际上就是系统上 Unix 用户的安全强度。Unix用户默认安装在大多数情况下是足够安全的,但是业务需求或不熟练的管理可能会暴露风险。
  • 没有屏幕锁定的公共访问区域,未经授权的用户可以在其中访问授权用户的登录 Unix 用户。
  • 广泛的 sudo 访问权限授予用户执行不同 Unix 用户命令的权限。
  • 可由 Unix 用户以外的 Unix 用户写入并由 Unix 用户执行(cron 或直接)的脚本。
  • 容易受到命令注入影响的网页,其中运行该网页的 Unix 用户在数据库中具有不打算使用的提升权限。
  • 不良的 Unix 用户密码实践,包括弱用户密码、密码暴露和密码重用,以及未经授权的用户利用此弱点的访问漏洞/机制。
  • 远程访问机制和网络文件系统权限较弱。
  • 用户安全行为不佳,包括运行不受信任的脚本和软件。

总结:简单粗暴理解就是你能登录服务器,即认为你有权限,MaraiaDB不再对你进行身份验证,相当于登录认证交给了Linux登录认证。

© 版权声明
THE END
如果内容对您有所帮助,就支持一下吧!
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容