mysql自带test库的相关特性

来源:互联网 发布:少女时时彩计划软件 编辑:程序博客网 时间:2024/04/30 20:55

由于开发员人员需要一个只读权限的数据库帐号:readonly,创建好之后,开发人员用这个帐号在mysql的test库中进行测试,发现能够创建数据表,当时觉得非常奇怪,又检查了一下,改帐号的权限:show grants for 'readonly'@'localhost' 发现只有select权限,并没有create 权限,那为何能在test库中创建表呢? 当时以为权限的授予的有问题,就先把帐号readonly的权限都收回, revoke all privileges from 'readonly'@'localhost'  ,这时该账户只有USAGE权限, 使用该账户登录到数据库,进入test库,居然还是能创建表,从这现象看应该不是权限的问题,应该是这个test库的问题.

    查了一些资料,mysql默认创建的test数据库权限比较怪异,所有可连接的用户都能够拥有权限访问该库,并操作其中的对象。这是怎么实现的呢,其实很简单,查看一下mysql.db即可明了:

select * from db where db like 'test%'\G;

*************************** 1. row ***************************

                 Host: %

                   Db: test

                 User: 

          Select_priv: Y

          Insert_priv: Y

          Update_priv: Y

          Delete_priv: Y

          Create_priv: Y

            Drop_priv: Y

           Grant_priv: N

      References_priv: Y

           Index_priv: Y

           Alter_priv: Y

Create_tmp_table_priv: Y

     Lock_tables_priv: Y

     Create_view_priv: Y

       Show_view_priv: Y

  Create_routine_priv: Y

   Alter_routine_priv: N

         Execute_priv: N

           Event_priv: Y

         Trigger_priv: Y

*************************** 2. row ***************************

                 Host: %

                   Db: test\_%

                 User: 

          Select_priv: Y

          Insert_priv: Y

          Update_priv: Y

          Delete_priv: Y

          Create_priv: Y

            Drop_priv: Y

           Grant_priv: N

      References_priv: Y

           Index_priv: Y

           Alter_priv: Y

Create_tmp_table_priv: Y

     Lock_tables_priv: Y

     Create_view_priv: Y

       Show_view_priv: Y

  Create_routine_priv: Y

   Alter_routine_priv: N

         Execute_priv: N

           Event_priv: Y

         Trigger_priv: Y

2 rows in set (0.00 sec)

从权限上来看,host为%,user为空,这就说明了不限制的,所有能连接到MySQL的用户,几乎都拥有test库的所有权限。

  这无异存在安全上的隐患,先对象不说在其中创建的重要对象可被任何人访问,就算该库中没有任何,假如有人想恶意破坏DB服务,只要登录,然后在该库创建一个超大对象,把空闲空间全部占满,就相当于变相达到了破坏db服务的目地。所以像这库就要DROP掉。

今天遇到同样的问题,于是搜一下,发现已有人总结的很到位,粘贴过来,以供参考。关于Mysql权限更多信息,可以参考这里。网址:http://blog.csdn.net/hsd2012/article/details/51200006

转载:http://blog.chinaunix.net/uid-182114-id-4228361.html

0 0
原创粉丝点击