专栏首页23号杂货铺删库跑路,一键操作600万?一起来学习一下Mysql的权限管理

删库跑路,一键操作600万?一起来学习一下Mysql的权限管理

“ 究竟是猿某锁死服务器坑人,还是螃蟹创始人倒打一耙在胡说?” —— 23号老板

0

1

事件还原

前几日,螃蟹网络创始人尹柏霖对《财经天下》周刊说,自己从月流水预计千万元的游戏策划人,到如今重回打工仔,在深圳没房没车一无所有,孩子正要出生,“将近三个月没法缓过劲来”。而这一切,都要拜跑路的主程序员燕飞宏所赐。

1月20日,游戏公司螃蟹网络的一则公告开始在微博上流传。公告称,螃蟹网络的一款游戏在上线测试当天,遭后端主程序员锁死服务器与电脑,拒不交接工作,最终耗费两年,导致600万元资金的项目失败。

创始人的声明:

程序员锁死服务器与电脑并恶意失踪,最终致创业公司倒闭,创始人身背百万债务沦为打工仔的新闻持续刷屏各大平台。1 月 24 日,当事主程燕某发表了一篇题为《已倒闭某科技公司前员工的辟谣声明》的文章,对众多指责和网络谣言一一反驳。剧情又来了个惊天大逆转。

猿某一一反驳:

02

Mysql权限管理

程序员删库跑路,对一家创业公司意味着什么,不用说那是一件极其严重的事情。那作为公司的管理者,又或者是DBA,如果更为合理、有效的管理数据库呢?以企业当中常用的ysql数据库为例,Mysql有着全面的权限管理。

Mysql的权限,简单来说就是mysql允许你做你权限以内的事情,不可以越界。比如只允许你执行select操作,那么你就不能执行update操作。只允许你从某台机器上连接mysql,那么你就不能从除那台机器以外的其他机器连接mysql。

那么Mysql的权限是如何实现的呢?

这就要说到mysql的两阶段验证:

第一阶段:服务器首先会检查你是否允许连接。因为创建用户的时候会加上主机限制,可以限制成本地、某个IP、某个IP段、以及任何地方等,只允许你从配置的指定地方登陆。

第二阶段:如果你能连接,Mysql会检查你发出的每个请求,看你是否有足够的权限实施它。比如你要更新某个表、或者查询某个表,Mysql会查看你对哪个表或者某个列是否有权限。再比如,你要运行某个存储过程,Mysql会检查你对存储过程是否有执行权限等。

权限

权限级别

权限说明

CREATE

数据库、表或索引

创建数据库、表或索引权限

DROP

数据库或表

删除数据库或表权限

GRANT OPTION

数据库、表或保存的程序

赋予权限选项

REFERENCES

数据库或表

ALTER

更改表,比如添加字段、索引等

DELETE

删除数据权限

INDEX

索引权限

INSERT

插入权限

SELECT

查询权限

UPDATE

更新权限

CREATE VIEW

视图

创建视图权限

SHOW VIEW

视图

查看视图权限

ALTER ROUTINE

存储过程

更改存储过程权限

CREATE ROUTINE

存储过程

创建存储过程权限

EXECUTE

存储过程

执行存储过程权限

FILE

服务器主机上的文件访问

文件访问权限

CREATE TEMPORARY TABLES

服务器管理

创建临时表权限

LOCK TABLES

服务器管理

锁表权限

CREATE USER

服务器管理

创建用户权限

PROCESS

服务器管理

查看进程权限

RELOAD

服务器管理

执行flush-hosts, flush-logs, flush-privileges, flush-status, flush-tables, flush-threads, refresh, reload等命令的权限

REPLICATION CLIENT

服务器管理

复制权限

REPLICATION SLAVE

服务器管理

复制权限

SHOW DATABASES

服务器管理

查看数据库权限

SHUTDOWN

服务器管理

关闭数据库权限

SUPER

服务器管理

执行kill线程权限

Mysql的权限分布

权限分布

可能的设置的权限

表权限

'Select', 'Insert', 'Update', 'Delete', 'Create', 'Drop', 'Grant', 'References', 'Index', 'Alter'

列权限

'Select', 'Insert', 'Update', 'References'

过程权限

'Execute', 'Alter Routine', 'Grant'

权限控制主要是出于安全因素,因此需要遵循一下几个经验原则:

1、只授予能满足需要的最小权限,防止用户干坏事。比如用户只是需要查询,那就只给select权限就可以了,不要给用户赋予update、insert或者delete权限。

2、创建用户的时候限制用户的登录主机,一般是限制成指定IP或者内网IP段。

3、初始化数据库的时候删除没有密码的用户。安装完数据库的时候会自动创建一些用户,这些用户默认没有密码。

4、为每个用户设置满足密码复杂度的密码。

5、定期清理不需要的用户。回收权限或者删除用户。

如何使用?

GRANT命令

$> grant all privileges on *.* to bboyHan@'localhost' identified by "123456" with grant option;

关键字

说明

ALL PRIVILEGES

表示所有权限,你也可以使用select、update等权限。

on

用来指定权限针对哪些库和表。

*.*

*.* 中前面的*号用来指定数据库名,后面的*号用来指定表名。

TO‍

表示将权限赋予某个用户。

bboyhan@localhost

@后面接限制的主机,可以是IP、IP段、域名以及%,%表示任何地方。注意:这里%有的版本不包括本地,以前碰到过给某个用户设置了%允许任何地方登录,但是在本地登录不了,这个和版本有关系,遇到这个问题再加一个localhost的用户就可以了。

IDENTIFIED BY

指定用户的登录密码

WITH GRANT OPTION

这个选项表示该用户可以将自己拥有的权限授权给别人。注意:经常有人在创建操作用户的时候不指定WITH GRANT OPTION选项导致后来该用户不能使用GRANT命令创建用户或者给其它用户授权。

使权限刷新生效:

回收用户权限:

删除用户:

修改密码:

03

小结

删库跑路并不可怕,可怕的是没有防范于未然。

文章部分内容来自infoQ、I’m Me!(博客园)等,在此鸣谢。

本文分享自微信公众号 - 23号杂货铺(sharontang0323),作者:bboyHan

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-01-26

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 『 懒人10分钟—Linux学习篇(三)』文件/目录的权限

    想必经常和服务器打交道的朋友,对于Linux可谓又爱又恨。对于项目组、运维人员、或者有多人需要对服务器进行操作的人,离不开Linux关于权限的管理。Linux的...

    23号杂货铺
  • 【“别跟我不会”系列】Java设计模式之策略模式

    一直以来,笔主想写关于设计模式的系列文章与大家进行交流,但碍于自己经验上尚浅,无法将此讲解透彻,闹了笑话。但千里之行,始于足下,我决定将我自己的工作中我用到的设...

    23号杂货铺
  • 数据分析之路—数据的描述性统计

    数据的集中趋势描 述是寻找反映事物特征的数据集合的代表值或中心值,这个代表值或中 心值可以很好地反映事物目前所处的位置和发展水平,通过对事物集中 趋势指标的多次...

    23号杂货铺
  • SQL权限操作

    限制一个用户能够做什么事情,在MySQL中,可以设置全局权限,指定数据库权限,指定表权限,指定字段权限

    木瓜煲鸡脚
  • 位运算的运用

    1.linux当中的位 在linux当中我们经常说777、775、755这个代表什么呢?其实很简单! 我们用1表示拥有执行权限,2表示拥有写入权限,4表...

    苦咖啡
  • 数据库|权限管理

    用户对数据的库的访问以及对数据库对象的操作都体现在权限上,具有什么样的权限,就能执行什么样的操作。权限对于数据库来说至关重要,它是访问权限设置中的最后一道安全措...

    算法与编程之美
  • 聊一聊Android 6.0的运行时权限

    Android 6.0,代号棉花糖,自发布伊始,其主要的特征运行时权限就很受关注。因为这一特征不仅改善了用户对于应用的使用体验,还使得应用开发者在实践开发中需要...

    技术小黑屋
  • mysql权限控制

    mysql权限控制 作为一名DBA,想必大家对MySQL中的权限都不陌生,MySQL中对于权限的控制分为三个层面:

    AsiaYe
  • Android 6.0动态获取权限

    Android系统的市场占有率不断攀升,智能手机的全面普及。这也给恶意软件、木马程序滋生提供了丰富营养。这些恶意软件、木马程序会对用户的敏感数据进行读写操作,用...

    猴哥yuri
  • 基于蓝鲸平台分分钟实现权限配置自动化

    小明有一个烦恼(不是《老板,今天我们做Oracle灾备切换演练吧!》的小明),毕业季来了,公司的招聘季也来了,每天都有新同事报道,这也意味着,他要每天到公司的几...

    嘉为科技

扫码关注云+社区

领取腾讯云代金券