首页 > 数据库 >数据库安全管理

数据库安全管理

时间:2023-09-13 11:55:51浏览次数:49  
标签:GRANT ## 管理 sec user mysql 数据库安全 priv

数据库安全管理

可以使用TCP抓包工具,抓包到数据库的操作情况

history可以查看明文的密码

1、用户账户管理

## 创建用户,只允许192.168.79.128用户登录
mysql> create user 'louvice'@'192.168.79.128' identified by '123456';
Query OK, 0 rows affected (0.01 sec)

## 创建用户,可以从任何ip登录到该数据库
mysql> create user 'louvice'@'%' identified by '123456';
Query OK, 0 rows affected (0.01 sec)

## 查看系统用户
mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> select user, host from user;
+---------------+----------------+
| user          | host           |
+---------------+----------------+
| louvice       | %              |
| rep           | 192.168.79.%   |
| louvice       | 192.168.79.128 |
| mysql.session | localhost      |
| mysql.sys     | localhost      |
| root          | localhost      |
+---------------+----------------+
6 rows in set (0.00 sec)

#删除数据库用户
mysql> drop user louvice@'192.168.79.128';
Query OK, 0 rows affected (0.01 sec)

#查看用户密码,已加密
mysql> select user, host, authentication_string from user;
+---------------+--------------+-------------------------------------------+
| user          | host         | authentication_string                     |
+---------------+--------------+-------------------------------------------+
| root          | localhost    | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| mysql.session | localhost    | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE |
| mysql.sys     | localhost    | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE |
| rep           | 192.168.79.% | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| louvice       | %            | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
+---------------+--------------+-------------------------------------------+
5 rows in set (0.00 sec)

#创建用户并授权
mysql> create user wing@'localhost' identified by '123456';
Query OK, 0 rows affected (0.00 sec)

mysql> grant all on *.* to wing@'localhost';
Query OK, 0 rows affected (0.01 sec)
#刷新权限
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

##一条命令创建用户并赋予权限
mysql> grant all on *.* to wing@'localhost' identified by '123456';
Query OK, 0 rows affected, 1 warning (0.00 sec)

## 通过delete也可以删除用户
mysql> delete from mysql.user where user = 'wing' and host = 'localhost';
Query OK, 1 row affected (0.01 sec)


#修改root密码
方式1;通过shell修改
mysqladmin -uroot -p'123456' password '12345678'

方式2:数据库内更新密码
update mysql.user set authentication_string = password('123456') where user='root' and host='';
#刷新权限
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

方式3:设定密码
set password=password('123456')


2、访问权限系统

mysql.user全局授权

mysql> select * from mysql.user where user='root'\G
*************************** 1. row ***************************
Host: localhost
User: root
Select_priv: Y
Insert_priv: Y
Update_priv: Y
Delete_priv: Y
Create_priv: Y
Drop_priv: Y
Reload_priv: Y
Shutdown_priv: Y
Process_priv: Y
File_priv: Y
Grant_priv: Y
References_priv: Y
Index_priv: Y
Alter_priv: Y
Show_db_priv: Y
Super_priv: Y
Create_tmp_table_priv: Y
Lock_tables_priv: Y
Execute_priv: Y
Repl_slave_priv: Y
Repl_client_priv: Y
Create_view_priv: Y
Show_view_priv: Y
Create_routine_priv: Y
Alter_routine_priv: Y
Create_user_priv: Y
Event_priv: Y
Trigger_priv: Y
Create_tablespace_priv: Y
ssl_type:
ssl_cipher:
x509_issuer:
x509_subject:
max_questions: 0
max_updates: 0
max_connections: 0
max_user_connections: 0
plugin: mysql_native_password
authentication_string: *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9
password_expired: N
password_last_changed: 2023-09-12 04:55:16
password_lifetime: NULL
account_locked: N
1 row in set (0.00 sec)

mysql.db(数据库级别)

user > db > tables > columns

2.1 权限列表

all 所有权限(不包括授权权限)
单独授权 select,update,insert,delete

2.2 库名表名

*.* 所有库下的所有表 Global level
wing.* 针对 wing 库下的所有表 Database level
wing.student 针对 wing 库下的 student 表 Table level
SELECT (id),INSERT (name,age) ON wing.t1 针对 wing 库下⾯ t1 表的字段 Column level

2.3 客户端主机

localhost 指定本机

10.1.106.70 指定具体主机

10.1.106.0 ⽹段的所有主机

10.1.106.% ⽹段的所有主机

% 指定所有主机

2.4 with参数

GRANT OPTION 授权选项

MAX_QUERIES_PER_HOUR 定义每⼩时允许执⾏的查询数

MAX_UPDATES_PER_HOUR 定义每⼩时允许执⾏的更新数

MAX_CONNECTIONS_PER_HOUR 定义每⼩时可以建⽴的连接数

MAX_USER_CONNECTIONS 定义单个⽤户同时可以建⽴的连接数

## 授权wing用户拥有所有库的操作权限
GRANT ALL ON *.* TO wing@'%' IDENTIFIED BY 'Wing@123';

## 授权wing用户授权其他用户的权限
GRANT ALL ON *.* TO wing1@'%' IDENTIFIED BY 'Wing@123' WITH GRANT OPTION;

## 授权bbs库给wing2⽤户
GRANT ALL ON bbs.* TO wing2@'%' IDENTIFIED BY 'Wing@123';

## 授权bbs库给wing3⽤户@10.1.106.70,只能通过该ip进行登录
GRANT ALL ON bbs.* TO wing3@'10.1.106.70' IDENTIFIED BY 'Wing@123';
mysql -uwing3 -p -h10.1.106.70

##  授权 wing4⽤户只能访问bbs.user表
GRANT ALL ON bbs.user TO wing4@'%' IDENTIFIED BY 'Wing@123';

## 授权wing5对 bbs库user表中id 只能查询, name和age字段可以插⼊
GRANT SELECT(id),INSERT(name,age) ON bbs.user TO wing5@'%' IDENTIFIED BY 'Wing@123';
mysql> select * from user;
ERROR 1142 (42000): SELECT command denied to user 'wing5'@'master' for table 'user'
mysql> 
mysql> select id from user;
+----+
| id |
+----+
|  1 |
+----+
1 row in set (0.00 sec)

mysql> insert into user(name,age) values('wing',18);
Query OK, 1 row affected (0.00 sec)

## 访问权限回收
mysql> show grants;
+---------------------------------------------------------------------+
| Grants for root@localhost |
+---------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION |
| GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION |
+---------------------------------------------------------------------+

## 查看其它⽤户权限
mysql> show grants for wing1@'%';
+--------------------------------------------------------------+
| Grants for wing1@% |
+--------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'wing1'@'%' WITH GRANT OPTION |
+--------------------------------------------------------------+
1 row in set (0.00 sec)

3、 回收权限

语法: REVOKE 权限列表 ON 数据库名 FROM ⽤户名@'客户端主机';

## 回收Delete权限
mysql> revoke DELETE on *.* from wing1@'%';

## 回收所有权限
mysql> revoke ALL PRIVILEGES ON *.* from 'wing1'@'%';
Query OK, 0 rows affected (0.00 sec)

mysql> show grants for wing1@'%'\G
*************************** 1. row ***************************
Grants for wing1@%: GRANT USAGE ON *.* TO 'wing1'@'%' WITH GRANT OPTION

## 回收grant权限
mysql> revoke GRANT OPTION ON *.* from 'wing1'@'%';
Query OK, 0 rows affected (0.00 sec)
mysql> show grants for wing1@'%'\G
*************************** 1. row ***************************
Grants for wing1@%: GRANT USAGE ON *.* TO 'wing1'@'%'

开发⼈员 就是select 权限 或者对某⼀个库有权限 ⼀定不能root权限
业务测java程序 连接都有单独⾃⼰权限 app ⽤户只能访问app库 权限最⼩化

标签:GRANT,##,管理,sec,user,mysql,数据库安全,priv
From: https://www.cnblogs.com/louvice/p/17699209.html

相关文章

  • 61基于java的学生考勤管理系统设计与实现(可参考做毕业设计)
    本章节给大家带来一个基于java学生考勤管理系统设计与实现,可适用于学生考勤系统,校园考勤,大学考勤管理,企业考勤系统,公司考勤系统,学校考勤系统。引言本文首先介绍了学生考勤管理系统的研究背景与意义,其次介绍了系统的总体功能设计,接着将对系统规划好的总体功能拆分成了各个功能子......
  • Java安全管理____Java通过Https链接读取证书基本信息
    importjava.net.URL;importjava.security.SecureRandom;importjava.security.cert.Certificate;importjava.security.cert.CertificateException;importjava.security.cert.X509Certificate;importjavax.net.ssl.HostnameVerifier;importjavax.net.ssl.HttpsURL......
  • 化工企业ERP对可回收包装物的管理
    什么是可回收包装物?在一些离散制造企业,包装物大多作为耗材去采购并且批量分摊核算成本,但是在化工行业,并不是所有的包装物料都便宜到可以在销售业务中忽略,在实际的业务管理中,包装回收业务非常普遍,企业是个经济体,同时也是一个社会组织,这既是出于成本的考虑,也是为了响应环保组织低碳的......
  • RBAC教程()简单的RBAC权限管理框架
    一.RBAC简介基于角色的访问控制RBAC的权限管理,基于角色的访问控制(Role-BasedAccessControl),在RBAC中,权限与角色相关联,用户通过成为适当角色的成员而得到这些角色的权限。最后的结果就是不同的用户登录系统会看到不同的功能,也就是菜单。二.简单结构图 ......
  • 从零开始使用vue2+element搭建后台管理系统(实现导出excel表格的功能)
    首先参阅了以下文档:https://panjiachen.gitee.io/vue-element-admin-site/zh/feature/component/excel.html#excel-%E5%AF%BC%E5%87%BAhttps://blog.csdn.net/weixin_42028153/article/details/124804841核心思想:抄一下vue-element-admin这个很棒的开源集成后台管理系统中所提......
  • 企业综合信息化,人力资源管理,培训考学管理,电子采购(源码系统)
    前言:随着现代信息技术的不断发展,企业综合信息化已成为一种必然趋势。企业综合信息化是指将信息技术与企业业务流程相结合,实现企业资源的优化配置和高效利用,提升企业的竞争力和生产力。在实现企业综合信息化的过程中,人力资源管理、培训考学管理和电子采购是三个非常重要的环节。......
  • RTSP/Onvif视频服务器EasyNVR视频监控管理平台HLS流播放中断的原因及其解决办法
    EasyNVR是TSINGSEE青犀视频基于RTSP/Onvif协议推出的视频能力平台,既有硬件设备,又有软件平台,是比较灵活的一项流媒体产品。它可实现设备接入、实时直播、录像、检索与回放、存储、视频分发等视频能力服务,可覆盖全终端平台(pc、手机、平板等终端),在智慧工厂、智慧工地、智慧社区、智慧......
  • 学生综合管理系统-免费注册使用
    薪火数据学生综合管理系统是一种用于学校管理和学生信息管理的软件系统,可以帮助学校提高办公效率、加强学生管理和促进家校沟通。本文将详细介绍学生综合管理系统的功能和优势,并提供免费注册使用的相关说明。第一部分:学生综合管理系统的功能学籍管理:学生综合管理系统可以方便地......
  • 基于微信小程序的学生活动管理系统
    由于APP软件在开发以及运营上面所需成本较高,而用户手机需要安装各种APP软件,因此占用用户过多的手机存储空间,导致用户手机运行缓慢,体验度比较差,进而导致用户会卸载非必要的APP,倒逼管理者必须改变运营策略。随着微信小程序的出现,解决了用户非独立APP不可访问内容的痛点,所以很多APP软......
  • 基于微信小程序的房屋租赁管理系统
    随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。本文介绍了基于微信小程序的房屋租赁管理系统的开发全过程。通过分析基于微信小程序的房屋租赁管理系统管理的不足,创建了一个计算机管理基于微信小程序的房屋租赁管理系统的方案。文章介绍了基于......