10、权限管理
2017-11-28 22:37
288 查看
1、简述:数据库中通常有多个用户共享,为保证数据库的安全,SQL语言提供数据控制语句DCL(Data Control Language)对数据库进行统一的管理,若要实现数据库的安全性,则必须依据权限分配的最小化原则,从而将风险降至最低。这样就能保证授权的用户可以查看或修改数据,又能保证授权用户对合法信息的访问。
2、权限可分配情况
权限分配原则遵循:从哪来,到哪去,去干啥
从哪来:可以指定用户名,允许连接的ID
到哪去:数据库名,表名,
去干啥:能够使用的命令
以上三点使用Mysql数据库的user,db,host表。
可分配权限表:
MySQL权限分布:针对什么表设置什么权限,针对列可以设置哪些权限的问题
权限分布 可能的设置的权限
表权限 'Select', 'Insert', 'Update', 'Delete', 'Create', 'Drop', 'Grant', 'References', 'Index', 'Alter'
字段权限 'Select', 'Insert', 'Update',’References'
过程权限 'Execute', 'Alter Routine', 'Grant',’create’
MySQL权限经验原则:
权限控制主要是出于安全因素,因此需要遵循一下几个经验原则:
1、只授予能满足需要的最小权限,防止用户干坏事。比如用户只是需要查询,那就只给select权限就可以了,不要给用户赋予update、insert或者delete权限。
2、创建用户的时候限制用户的登录主机,一般是限制成指定IP或者内网IP段。@’192.168.1.28’ hostname
3、初始化数据库的时候删除没有密码的用户。安装完数据库的时候会自动创建一些用户,这些用户默认没有密码。
4、为每个用户设置满足密码复杂度的密码。CRM 疑是地上霜 CRM14floor&& 双
5、定期清理不需要的用户。回收权限或者删除用户。帐号审计
3、权限分配应用
3.1 用户权限查看
mysql> select * from mysql.user where user="root" \G; 查看root用户详细信息
mysql> show grants; 查看当前用户权限
mysql> show grants for "root"@"localhost"; 3.3 查看某个用户权限
3.2 用户创建
创建一个允许从本地登录的用户xiaoxiong,并允许将权限赋予别的用户的用户,密码设置为xiaoxiong
mysql> grant all privileges on . to xiaoxiong@'localhost' identified by 'xiaoxiong' with grant option;
参数:
all privileges:表示所有权限[url=mailto:br/>on:用来指定那些表和那些库生效,通配符*标识所有表所有库。
xiaoxiong@’localhost’:用户名@登录地址,localhost表示本地登录,或者127.0.0.1也表示本地
on:用来指定那些表和那些库生效,通配符*标识所有表所有库。
xiaoxiong@’localhost’:用户名@登录地址,localhost表示本地登录,或者127.0.0.1也表示本地
with grant option:允许用户将自己的拥有的权限分配给其他人,
grant可以重复给用户添加权限。。。
创建完毕用户后需要刷新权限,是用户生效。
mysql> flush privileges;
[root@node1 ~]# mysql -uxiaoxiong -pxiaoxiong 验证登录成功
mysql> revoke all privileges on . from "xiaoxiong"@"localhost"; 回收权限
删除用户:
mysql>drop user xiaoxiong@’localhost’;
修改用户名:
mysql> rename user "xiaoxiong"@"localhost" to "XiaoXiong01"@"%";
修改密码:
方法一、root无密码时,
mysqladmin -uroot password ‘password’
充值密码:
mysql> set password for "xiaoxiong"@"localhost"=password('xiaoxiong01')
mysql>set password=password(‘password’);修改当前用户密码
mysql> FLUSH PRIVILEGES;
无论是创建还是修改都需要刷新内存,否则不会生效。
2、权限可分配情况
权限分配原则遵循:从哪来,到哪去,去干啥
从哪来:可以指定用户名,允许连接的ID
到哪去:数据库名,表名,
去干啥:能够使用的命令
以上三点使用Mysql数据库的user,db,host表。
可分配权限表:
MySQL权限分布:针对什么表设置什么权限,针对列可以设置哪些权限的问题
权限分布 可能的设置的权限
表权限 'Select', 'Insert', 'Update', 'Delete', 'Create', 'Drop', 'Grant', 'References', 'Index', 'Alter'
字段权限 'Select', 'Insert', 'Update',’References'
过程权限 'Execute', 'Alter Routine', 'Grant',’create’
MySQL权限经验原则:
权限控制主要是出于安全因素,因此需要遵循一下几个经验原则:
1、只授予能满足需要的最小权限,防止用户干坏事。比如用户只是需要查询,那就只给select权限就可以了,不要给用户赋予update、insert或者delete权限。
2、创建用户的时候限制用户的登录主机,一般是限制成指定IP或者内网IP段。@’192.168.1.28’ hostname
3、初始化数据库的时候删除没有密码的用户。安装完数据库的时候会自动创建一些用户,这些用户默认没有密码。
4、为每个用户设置满足密码复杂度的密码。CRM 疑是地上霜 CRM14floor&& 双
5、定期清理不需要的用户。回收权限或者删除用户。帐号审计
3、权限分配应用
3.1 用户权限查看
mysql> select * from mysql.user where user="root" \G; 查看root用户详细信息
mysql> show grants; 查看当前用户权限
mysql> show grants for "root"@"localhost"; 3.3 查看某个用户权限
3.2 用户创建
创建一个允许从本地登录的用户xiaoxiong,并允许将权限赋予别的用户的用户,密码设置为xiaoxiong
mysql> grant all privileges on . to xiaoxiong@'localhost' identified by 'xiaoxiong' with grant option;
参数:
all privileges:表示所有权限[url=mailto:br/>on:用来指定那些表和那些库生效,通配符*标识所有表所有库。
xiaoxiong@’localhost’:用户名@登录地址,localhost表示本地登录,或者127.0.0.1也表示本地
on:用来指定那些表和那些库生效,通配符*标识所有表所有库。
xiaoxiong@’localhost’:用户名@登录地址,localhost表示本地登录,或者127.0.0.1也表示本地
with grant option:允许用户将自己的拥有的权限分配给其他人,
grant可以重复给用户添加权限。。。
创建完毕用户后需要刷新权限,是用户生效。
mysql> flush privileges;
[root@node1 ~]# mysql -uxiaoxiong -pxiaoxiong 验证登录成功
mysql> revoke all privileges on . from "xiaoxiong"@"localhost"; 回收权限
删除用户:
mysql>drop user xiaoxiong@’localhost’;
修改用户名:
mysql> rename user "xiaoxiong"@"localhost" to "XiaoXiong01"@"%";
修改密码:
方法一、root无密码时,
mysqladmin -uroot password ‘password’
充值密码:
mysql> set password for "xiaoxiong"@"localhost"=password('xiaoxiong01')
mysql>set password=password(‘password’);修改当前用户密码
mysql> FLUSH PRIVILEGES;
无论是创建还是修改都需要刷新内存,否则不会生效。
相关文章推荐
- 札记:SUN技术日 Java 6 update 10 重大改进
- 由rand7生成rand10以及随机数生成方法
- 第21天android:《android从零开始》视频(10-13)
- 算法导论 10-4-5 O(n)时间 O(1)空间遍历树
- c/c++练习–10
- [Android]笔记10-单选按钮和复选框的功能与用法
- 2018_2_10_Find them, Catch them_并查集
- 动态规划10_数位DP1
- ajaxFileUpload.js 无刷新上传图片,支持多个参数同时上传,支持 ie6-ie10
- 10 款适合设计人士使用的 Web APP
- DotNetBar 10.9.0.4 原版(DotNetBar For Windows Forms 10)控件收集
- makefile教程(10)
- 第12期《霜叶红于二月花》10月刊
- 背水一战 Windows 10 (53) - 控件(集合类): ItemsControl 的布局控件 - ItemsStackPanel, ItemsWrapGrid
- 2016-10-1103:26:11
- windows 8/10 文件、文件夹需要管理员权限处理办法
- 九度OJ 1501-1510(10/10)
- 10 行代码判定色*情*图片
- 虚拟机Linux(Fedora10)下USB转串口的使用, minicom: cannot open /dev/ttyUSB0的解决