返回顶部
首页 > 资讯 > 数据库 >MySQL用户和权限及破解root口令的示例分析
  • 183
分享到

MySQL用户和权限及破解root口令的示例分析

2024-04-02 19:04:59 183人浏览 泡泡鱼
摘要

这篇文章将为大家详细讲解有关Mysql用户和权限及破解root口令的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。MySQL用户和权限在mysql中有一个系统自身

这篇文章将为大家详细讲解有关Mysql用户和权限及破解root口令的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

MySQL用户和权限

mysql中有一个系统自身就带有的数据库叫Mysql数据库装好以后系统自带了好几个数据库MySQL就是其中过一个,MySQL数据库有个用户账户权限相关的表叫user表,在其中就有创建的用户。

MySQL中完整的用户名是由用户+主机名形成,主机名决定了这个用户在哪个主机上能登陆。

一、用户的创建和密码修改

1.用户的创建

create user 'USERNAME'@'HOST' identified by 'PASSWord';

USERNAME:用户名
HOST:主机地址
PASSWORD:密码

示例:

MariaDB [(none)]> create user masuri@192.168.73.133 identified by 'Centos';
Query OK, 0 rows affected (0.01 sec)

MariaDB [(none)]> select user,host,password from mysql.user;
+--------+-----------------------+-------------------------------------------+
| user | host     | password         |
+--------+-----------------------+-------------------------------------------+
| root | localhost    |           |
| root | localhost.localdomain |           |
| root | 127.0.0.1    |           |
| root | ::1     |           |
|  | localhost    |           |
|  | localhost.localdomain |           |
| masuri | 192.168.73.133  | *128977E278358FF80A246B5046F51043A2B1FCED |
+--------+-----------------------+-------------------------------------------+
7 rows in set (0.00 sec)

MySQL中有匿名账户,可以通过跑安全加固脚本mysql_secure_installation来进行删除,也可以手动将其删除。

删除用户:

DROP USER 'USERNAME'@'HOST';

示例:

MariaDB [(none)]> select user,host,password from mysql.user;
+--------+-----------------------+-------------------------------------------+
| user | host     | password         |
+--------+-----------------------+-------------------------------------------+
| root | localhost    |           |
| root | localhost.localdomain |           |
| root | 127.0.0.1    |           |
| root | ::1     |           |
|  | localhost    |           |
|  | localhost.localdomain |           |
| masuri | 192.168.73.133  | *128977E278358FF80A246B5046F51043A2B1FCED |
+--------+-----------------------+-------------------------------------------+
7 rows in set (0.00 sec)

MariaDB [(none)]> DROP USER ''@'localhost';
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> DROP USER ''@'localhost.localdomain';
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> select user,host,password from mysql.user;
+--------+-----------------------+-------------------------------------------+
| user | host     | password         |
+--------+-----------------------+-------------------------------------------+
| root | localhost    |           |
| root | localhost.localdomain |           |
| root | 127.0.0.1    |           |
| root | ::1     |           |
| masuri | 192.168.73.133  | *128977E278358FF80A246B5046F51043A2B1FCED |
+--------+-----------------------+-------------------------------------------+
5 rows in set (0.00 sec)

2.密码的修改

mysql密码的修改

SET PASSWORD FOR user = PASSWORD('cleartext password')
UPDATE table SET password = password('cleartext password')

示例:

对masuri用户做密码的修改

MariaDB [(none)]> SET PASSWORD FOR masuri@192.168.73.133 = PASSWORD ('magedu');
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> select user,host,password from mysql.user;
+--------+-----------------------+-------------------------------------------+
| user | host     | password         |
+--------+-----------------------+-------------------------------------------+
| root | localhost    |           |
| root | localhost.localdomain |           |
| root | 127.0.0.1    |           |
| root | ::1     |           |
| masuri | 192.168.73.133  | *6B8CCC83799A26CD19D7AD9AEEADBCD30D8A8664 |
+--------+-----------------------+-------------------------------------------+
#此时密码已经发生改变

root账号口令为空,为root口令设置口令,由于一条一条的设置太过麻烦也可以使用修改表的操作来修改密码

MariaDB [(none)]> update mysql.user set password=password('centos') where user='root';
Query OK, 4 rows affected (0.01 sec)
Rows matched: 4 Changed: 4 Warnings: 0

MariaDB [(none)]> select user,host,password from mysql.user;
+--------+-----------------------+-------------------------------------------+
| user | host     | password         |
+--------+-----------------------+-------------------------------------------+
| root | localhost    | *128977E278358FF80A246B5046F51043A2B1FCED |
| root | localhost.localdomain | *128977E278358FF80A246B5046F51043A2B1FCED |
| root | 127.0.0.1    | *128977E278358FF80A246B5046F51043A2B1FCED |
| root | ::1     | *128977E278358FF80A246B5046F51043A2B1FCED |
| masuri | 192.168.73.133  | *6B8CCC83799A26CD19D7AD9AEEADBCD30D8A8664 |
+--------+-----------------------+-------------------------------------------+
5 rows in set (0.00 sec)

此时密码已经修改但依旧无法登陆,需要将权限刷新

MariaDB [(none)]> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

二、MySQL权限管理

权限管理涉及到多种权限的类别,比如说有管理类、程序类、数据库级别、表级别和字段级别

管理类:能否创建用户,能否显示数据库列表,能否重新加载配置文件,能否关闭数据库,和复制相关的能否执行,能否管理进程,能否创建临时表,能否创建数据库中的文件。

程序类主要涉及3个程序,函数,存储过程和触发器,例如能否创建,修改,删除和执行这些程序库,表和字段级别的权限:比如能否在库,表字段里进行增、删、查、改等操作

1.授权GRANT

授权用户时如果用户不存在可以将其创建出来,在授权前首先要确认自己是管理员有授权的权限。

GRANT 
 priv_type [(column_list)]
  [, priv_type [(column_list)]] ...
 ON [object_type] priv_level
 TO user_specification [, user_specification] ...
 [REQUIRE {NONE | ssl_option [[AND] ssl_option] ...}]
 [WITH with_option ...]

示例:

创建一个wordpress的用户,并授权。

MariaDB [(none)]> CREATE DATABASE wordpress;
Query OK, 1 row affected (0.02 sec)

MariaDB [(none)]> GRANT ALL ON wordpress.* TO wpuser@'192.168.73.%' identified by 'mylinuxops';
Query OK, 0 rows affected (0.00 sec)

2.查看用户的权限

MariaDB [(none)]> show grants for wpuser@'192.168.73.%';
+------------------------------------------------------------------------------------------------------------------+
| Grants for wpuser@192.168.73.%                     |
+------------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'wpuser'@'192.168.73.%' IDENTIFIED BY PASSWORD '*EC0DBFB480593BB6ED2EC028A4231A72D8137406' |
| GRANT ALL PRIVILEGES ON `wordpress`.* TO 'wpuser'@'192.168.73.%'             |
+------------------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)

3.授权的其他选项

MAX_QUESRIES_PER_HOUR count #每小时最多查多少次
MAX_UPDATES_PER_HOUR count #每小时最多改多少次
MAX_CONNECTIONS_PER_HOUR count #每小时最多连多少次
MAX_USER_CONNECTIONS count #用户的最大数连接数

取消权限

REVOKE
 priv_type [(column_list)]
  [, priv_type [(column_list)]] ...
 ON [object_type] priv_level
 FROM user [, user] ...

示例:

MariaDB [(none)]> revoke delete on wordpress.* from wpuser@'192.168.73.%';
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> show grants for wpuser@'192.168.73.%';
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Grants for wpuser@192.168.73.%                                                   |
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'wpuser'@'192.168.73.%' IDENTIFIED BY PASSWORD '*EC0DBFB480593BB6ED2EC028A4231A72D8137406'                              |
| GRANT SELECT, INSERT, UPDATE, CREATE, DROP, REFERENCES, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, EVENT, TRIGGER ON `wordpress`.* TO 'wpuser'@'192.168.73.%' |
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)
# 此时wpuser@'192.168.73.%'已经没有了delete权限

MySQL的root口令破解

工作中有时候可能会遇到root口令丢失的情况,此时可以通过以下方法进行找回root口令

以下为示范如何破解root口令

一、密码未知无法登陆MySQL

[root@localhost ~]# mysql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

二、破解

1.修改配置文件/etc/my.cnf,添加两行参数

skip_grant_tables:跳过授权表信息,此项生效后再次使用MySQL就无需使用密码了,但是远程的其他用户也可以不使用密码登陆,有一定的风险性

skip_networking:关闭网路功能,由于光启用skip_grant_tables选项,其他用户也可以无需密码登陆MySQL非常危险,所以需要关闭网路功能只允许本地的用户进行操作。

[root@localhost ~]# vim /etc/my.cnf
[mysqld]
skip_networking=on   #不启用网络功能
skip_grant_tables=on   #跳过授权表

[root@localhost ~]# service mysqld restart       #对位置文件修改后需要重新启动服务
Restarting mysqld (via systemctl):       [ OK ]

2.登陆MySQL,进行密码修改

[root@localhost ~]# mysql           #此时已经无需输入密码就能登陆
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 11
Server version: 10.2.23-MariaDB-log Source distribution

Copyright (c) 2000, 2018, oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> UPDATE mysql.user SET password=PASSWORD('123456') where user='root';  #对root的口令进行修改
Query OK, 4 rows affected (0.01 sec)
Rows matched: 4 Changed: 4 Warnings: 0

3.口令修改完毕后,需要将配置文件恢复

将刚才启用的两个选项进行注销或者删除,然后重启服务

[root@localhost ~]# vim /etc/my.cnf
[mysqld]
#skip_networking=on   
#skip_grant_tables=on   

[root@localhost ~]# service mysqld restart
Restarting mysqld (via systemctl):       [ OK ]

4.使用新口令登陆MySQL

[root@localhost ~]# mysql -uroot -p123456 
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 10
Server version: 10.2.23-MariaDB-log Source distribution

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>

关于“MySQL用户和权限及破解root口令的示例分析”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

您可能感兴趣的文档:

--结束END--

本文标题: MySQL用户和权限及破解root口令的示例分析

本文链接: https://lsjlt.com/news/57487.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • MySQL用户和权限及破解root口令的示例分析
    这篇文章将为大家详细讲解有关MySQL用户和权限及破解root口令的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。MySQL用户和权限在MySQL中有一个系统自身...
    99+
    2024-04-02
  • mysql用户和权限的示例分析
    小编给大家分享一下mysql用户和权限的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! 用...
    99+
    2024-04-02
  • linux用户、权限及shell命令的示例分析
    这篇文章将为大家详细讲解有关linux用户、权限及shell命令的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。用户 用户组      ...
    99+
    2023-06-05
  • mysql中账户和权限的示例分析
    小编给大家分享一下mysql中账户和权限的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!当客户端连接 MySQL 服务器时,必须提供有效的身份认证,例如用户名和密码。当用户执行任何...
    99+
    2024-04-02
  • ​MySQL中用户与权限的示例分析
    小编给大家分享一下MySQL中用户与权限的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!MySQL用户与权限 ...
    99+
    2024-04-02
  • mysql中root用户无法授权及解决navicat远程授权提示1044的示例分析
    这篇文章主要为大家展示了“mysql中root用户无法授权及解决navicat远程授权提示1044的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“mys...
    99+
    2024-04-02
  • mysql中用户管理和权限控制的示例分析
    这篇文章主要介绍mysql中用户管理和权限控制的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一:用户的创建(两种方法): 方法一:CREATE USER 'use...
    99+
    2024-04-02
  • mysql权限和索引的示例分析
    这篇文章将为大家详细讲解有关mysql权限和索引的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。mysql权限和索引mysql的最高用户是root,我们可以在数据...
    99+
    2024-04-02
  • ORACLE用户权限管理的示例分析
    小编给大家分享一下ORACLE用户权限管理的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!今天带大家一起来了解一下ORA...
    99+
    2024-04-02
  • MySQL中权限的示例分析
    小编给大家分享一下MySQL中权限的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、前言很多文章中会说,数据库的权限按...
    99+
    2024-04-02
  • mysql用户权限管理实例分析
    本文实例讲述了mysql用户权限管理。分享给大家供大家参考,具体如下: 本文内容: 什么是用户权限 恰当的用户权限 查看权限 修改权限 删除权限 首发日期:2018-04-19 什么是用户...
    99+
    2022-05-15
    mysql 用户权限管理
  • mysql权限操作的示例分析
    这篇文章给大家分享的是有关mysql权限操作的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 1、创建新用户: create user mark@localhost ...
    99+
    2024-04-02
  • mysql中引擎、Explain和权限的示例分析
    小编给大家分享一下mysql中引擎、Explain和权限的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!引擎简介Inno...
    99+
    2024-04-02
  • MySQL用户权限验证与管理方法的示例分析
    这篇文章给大家分享的是有关MySQL用户权限验证与管理方法的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、Mysql权限分两阶段验证1. 服务器检查是否允许连接:用户...
    99+
    2024-04-02
  • MySQL与Oracle差异比较之用户权限的示例分析
    这篇文章给大家分享的是有关MySQL与Oracle差异比较之用户权限的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。用户权限编号类别ORACLEMYSQL注释1创建用户C...
    99+
    2024-04-02
  • MongoDB用户及权限管理之角色说明的示例分析
    这篇文章给大家分享的是有关MongoDB用户及权限管理之角色说明的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。mongodb安装完后默认是不开启auth模块的,普通用户...
    99+
    2024-04-02
  • MySQL中权限系统的示例分析
    小编给大家分享一下MySQL中权限系统的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! create user...
    99+
    2024-04-02
  • mongodb基础之用户权限管理的示例分析
    这篇文章主要介绍了mongodb基础之用户权限管理的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。启动mongodb并连接./bin...
    99+
    2024-04-02
  • Centos下用户权限委派配置的示例分析
    这篇文章主要介绍Centos下用户权限委派配置的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Centos(Linux)下用户权限委派配置介绍说到权限委派,对于一个服务的正常运行至关重要,对于企业中经常说到的...
    99+
    2023-06-10
  • Oracle中定义者权限和调用者权限的示例分析
    这篇文章给大家分享的是有关Oracle中定义者权限和调用者权限的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。定义者权限:定义者权限指使用它所有者的权限,而不是当前用户来...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作