- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MySQL权限控制的设计缺陷?
HYPERLINK /blog/ MySQL权限控制的设计缺陷?
这个问题是从被问到information_schema.user_privilege的IS_GRANTABLE字段问题开始查起的,就先从user_privilege表的显示规则说起。
?
1、??????????????IS_GRANTABLE字段
用root账号执行如下语句(本文中grant后都接flush privileges,?不赘述)
a) grant all privileges on *.* to `myuser`@localhost with grant option;
?
b) select user,select_priv from mysql.user where user=myuser;
+------------------------------+----------------------------+
| user???????????????| select_priv????????|
+------------------------------+----------------------------+
| myuser????????????| Y?????????????????? ???|
+------------------------------+----------------------------+
?
c) select PRIVILEGE_TYPE, IS_GRANTABLE from information_schema.user_privileges where grantee like \myuser\@\localhost\ and PRIVILEGE_TYPE = ‘SELECT’;
+------------------------------+----------------------------+
| PRIVILEGE_TYPE?????| IS_GRANTABLE?????|
+------------------------------+----------------------------+
| SELECT????????????? ??????| NO????????????????????? ???|
+------------------------------+----------------------------+
???
?
说明:?从b)看myuser已经有了select_priv。而c)?中?IS_GRANTABLE是NO,这不是显示错误。?实际上,IS_GRANTABLE并非表示用户是否“拥有此权限”,而是表示用户是否拥有“将此权限赋予其他用户”的权限。它对应的是mysql.user表中的grant_priv字段,此时为NO。
??
2、user_privileges的显示规则
???????当我们创建一个新用户create user myuser2;??时,在mysql.user中看到这个用户的所有权限都为NO,此时user_privileges增加一行
+---------------------+-----------------------+--------------------------+---------------------+
| GRANTEE?????| TABLE_CATALOG | PRIVILEGE_TYPE??| IS_GRANTABLE??|
| myuser2@% | NULL??????????| USAGE??????????| NO???????????|.
+---------------------+-----------------------+--------------------------+---------------------+
?
什么时候显示USAGE??从 HYPERLINK /blog/ \t _blank 这篇文章中我们知道对应的显示控制代吗在sql/sql_show.cc。?对应的函数为fill_schema_schema_privileges。
简单分析源码得到规则如下:
?
????PRIVILEGE_TYPE规则:
???????a)?当该用户没有权限,或只有grant_priv的时候,PRIVILEGE_TYPE显示为USAGE;
???????b)?否则按顺序显示被赋予的权限,每行一个,这些权限包括
(UPDATE_ACL | SELECT_ACL | INSERT_ACL | DELETE_ACL | CREATE_ACL | DROP_ACL | GRANT_ACL
您可能关注的文档
- 6000多级的爱情天梯.doc
- 51单片机定时器的应用.doc
- 600MW超临界机组凝汽器背压及循泵运行优化试验的运行分析.doc
- 8岁孩子发育特征和教育要点 转.doc
- 700℃超超临界机组材料的选择与应用.doc
- A15如何辨别笔记本电脑.doc
- aa新发展战略要点简介.doc
- AC97声卡与HD AUDIO声卡的区别.doc
- AAA在移动通信系统中的应用.doc
- Acrobat X Pro 软件使您能交付专业的 P.doc
- 2025年长白朝鲜族自治县长发城市发展集团有限公司公开招聘备考题库(9人)附答案详解(实用).docx
- 2025广西河池国有产业投资发展集团有限公司紧缺人才招聘10人备考题库含答案详解(能力提升).docx
- 2025民族出版社专业技术人员公开招聘4人备考题库(第二批,北京)含答案详解(综合卷).docx
- 2025年湖南怀化辰溪县文旅发展投资有限公司招聘工作人员备考题库及1套完整答案详解.docx
- 2025年甘肃省兰州新区兰新能源科技集团有限公司冬季第二批招聘55人备考题库及答案详解(基础+提升).docx
- 2025年西安某国企运检运行招聘备考题库(3人)含答案详解(模拟题).docx
- 2025年西安水务投资有限责任公司见习招聘备考题库(6人)附答案详解(实用).docx
- 2025广西南宁昇智人力资源服务有限公司第47期招聘1人备考题库(中国共产主义青年团南宁市青秀区委员.docx
- 2025年甘肃省兰州有色冶金设计研究院有限公司招聘57人备考题库精选答案详解.docx
- 2025年甘肃传祁甘味乳业有限责任公司招聘备考题库附答案详解(b卷).docx
原创力文档


文档评论(0)