当前位置: 首页 > news >正文

常州网站建设方案维护建设银行etc信用卡申请网站

常州网站建设方案维护,建设银行etc信用卡申请网站,网站建设案例实录,湖南网站建设价位在用户进行验证之后,MySQL将提出以下问题验证账户权限: 1.谁是当前用户? 2.该用户有何权限? 管理权限比如:shutdown、replication slave、load data infile。数据权限比如:select、insert、update、dele…

在用户进行验证之后,MySQL将提出以下问题验证账户权限:

1.谁是当前用户?

2.该用户有何权限?

  • 管理权限比如:shutdown、replication slave、load data infile。
  • 数据权限比如:select、insert、update、delete。

3.这些权限适用于何处?

  • global、database、table、column、stored routine(存储例程包括存储过程和存储函数)。

grant语句

1.grant语句为mysql用户账户和角色分配权限或角色:

world数据库的所有权限授予r_viewer角色
GRANT SELECT ON world.* TO r_viewer;
world数据库的city表的更新删除权限授予kari用户 
GRANT UPDATE, DELETE ON world.city TO kari@localhost; 

grant 语句的子句包括:

  • 要授予的权限:select、update、delete等。
  • 权限级别:全局:*.* ;数据库:db_name.* ;表:db_name.table_name ;存储例程:db_name.routine_name。
  • 被授予权限的账户或角色。

2.指定列权限:

kari有权限读取mysql.user表中的user和host列
GRANT SELECT(user,host) ON mysql.user TO kari@localhost; 

3.在同一语句中可以应用表级和列级权限:

r_updater角色可以更新world.country表中的Name列,还可以删除该表
GRANT UPDATE(Name), DELETE ON world.country TO r_updater; 

4.将角色授予mysql用户账户和其他角色时,grant语句不带ON子句:

r_viewer, r_updater角色授予r_world角色
GRANT r_viewer, r_updater TO r_world;
r_viewer, r_updater角色授予kari用户,并且kari可以将角色授予其他用户账户
GRANT r_viewer, r_updater TO kari@localhost WITH ADMIN OPTION;

5.显示自己的账户权限:show grants / show grants for current_user();

6.显示其他用户权限:show grants for user@host;

7.显示角色的权限:show grants for 角色名;

用户权限限制

  • 在指定用户权限时,采用“白名单”模式,只能指定它可以干什么,不能显式指定它不能干什么。()
  • 不能授予行级权限。

撤销账户权限

revoke语句可以从用户账户和角色中撤销权限和角色。on子句指定要撤销的级别,from子句指定账户名或角色名。在发出 revoke 之前,一定要使用 show grants 语句来确定要撤销哪些权限和角色, 之后再次确认结果是否正确。

特殊权限

usage说明符授予连接到服务器的能力。这是新帐户的默认权限级别,可以使用该帐户访问服务器用于有限的目的,例如发出SHOW VARIABLES 或SHOW STATUS。不能使用帐户访问表之类的数据库内容,但可在以后授予此类权限。

REVOKE USAGE FROM kari@localhost 

MySQL的访问控制分为两个独立层面:

连接认证层(能否登录)

  • mysql.user表中的账户记录控制

  • 检查密码、账户锁定状态、认证插件等

操作权限层(能做什么)

  • 由各种权限表(tables_priv等)控制

  • USAGE属于这一层

该语句撤销了kari用户的usage权限,不会阻止用户登录服务器。

激活角色权限

用户在使用被授予的角色权限之前,必须要先激活权限。

1.在服务器级别激活角色

SET PERSIST activate_all_roles_on_login = ON;

将 activate_all_roles_on_login 系统变量默认值为OFF,若设置为ON,服务器在登录时将激活授予每个账户的角色。

2.在用户级别激活

SET DEFAULT ROLE r_viewer, r_updater TO kari@localhost;
SET DEFAULT ROLE ALL TO kari@localhost, Jan@localhost;

SET DEFAULT ROLE 语句定义当用户连接到服务器时哪些角色变为活动角色.

或者,在CREATE USER 或ALTER USER 语句中使用DEFAULT ROLE 子句:

ALTER USER kari@localhost DEFAULT ROLE r_viewer, r_updater;
ALTER USER kari@localhost DEFAULT ROLE ALL;

用户级默认角色存储在 mysql.default_roles 授权表中。用户登录时会检查该表,使用记录的角色权限。

3.在会话级别激活角色

SET ROLE 语句可以修改当前会话中的活动角色列表。它接受角色列表或以下角色说明符之一:

  • DEFAULT:激活帐户默认角色
  • NONE:禁用所有角色
  • ALL:激活授予该帐户的所有角色
  • ALL EXCEPT:激活授予帐户的所有角色,但指定的角色除外。

SELECT CURRENT_ROLE() ;该函数确定当前会话中哪些角色处于活动状态。

强制性角色

强制性角色自动授予每个用户,使用 mandatory-roles 系统变量进行配置,在权限生效前自动激活,不会更改授权表,不能使用revoke、drop role 或 drop user 语句撤销或删除。

服务启动时读取 mandatory-roles ,优先于授权表加载这些角色,将强制角色权限注入运行时环境,最后加载常规授权表内容。

SET PERSIST mandatory_roles = '`role1`@`%`,role2,role3@localhost';

授权表

MySQL 服务器在启动时将授权表从mysql 数据库读取到内存中,并使所有访问控制决策都以这些表为依据。

主要授权表清单

  • 避免直接在授权表中修改用户帐户,直接更改授权表时犯错,则可能会将所有用户锁在系统外面,如果直接修改了授权表,应通过发出 FLUSH PRIVILEGES 语句显式重新装入授权表。
  • 帐户修改语句(如GRANT、REVOKE、SET PASSWORD 和RENAME USER)会将更改同时应用于授权表及其内存中表。
  • 对全局权限和口令的更改仅应用于该帐户的后续连接。
  • 对数据库级别权限的更改在客户机的下一此使用 USE db_name 语句后应用。
  • 对角色、表、列和例程权限的更改会立即应用。
http://www.dtcms.com/a/420753.html

相关文章:

  • 企业网站的网址通常包括网站色调设计方案
  • 建设网站深圳seo点击排名
  • Linux之vi编辑器
  • 范例网站怎么做制作ppt免费软件
  • 网站做桌面应用 iOS网站做影集安全吗
  • 企业静态网站需要备案吗成都网站制作网站设计
  • 设计的网站都有哪些上海有哪些做网站的公司
  • 网站建设公司宣传语网页制作哪家服务好
  • dede 网站版权信息最让顾客心动的促销活动
  • 坚持写博客-前序
  • 动态ip建设网站网络营销推广软件
  • 常州金坛建设局网站外包
  • 龙岗网站建设价位shop++是什么
  • 海外短剧 APP 开发:Google Play/App Store 上架合规与性能优化​
  • 济南集团网站建设公司好国外工业设计网站
  • 网站排名标准app制作需要学什么
  • 基于 Spring Security 的最小项目模板
  • SpringBoot 自定义字典翻译组件
  • Interview-SpringCloud/SpringBoot
  • 爱站网ip反查域名京东官方网上商城
  • 做网站要不要营业执照网站大全网址大全
  • 济南网站建设yigeseo南充市网站建设
  • wordpress 经典博客主题济南seo怎么优化
  • 网站改版引导站内营销推广途径
  • 贵州建设学校网站乌海seo
  • 如何优化网站目录结构广州各区风险区域最新动态
  • 广西和城乡建设厅网站作品集怎么做网页
  • wordpress动漫网站做电影网站怎样赚钱吗
  • 南山做网站推广乐云seo娄底优秀网站建设
  • flask做网站工具网站建设罗贤伟