[前][次][番号順一覧][スレッド一覧]

mysql:14598

From: <kozu@xxxxxxxxxx>
Date: Sat, 7 Jun 2008 00:42:36 +0900 (JST)
Subject: [mysql 14598] Re: 権限について

中富さん

こんばんは、kozu です。

中富さんから頂いたアドバイスを踏まえ、
情報提供元である身内の情報を詳細に確認致しましたら、
新たな事が判明致しました。
(私自身が現象を正しく理解していませんでした^^;)


私の検証環境 CentOS5.1 に yum で mysql5.0 を入れて、
色々試した結果、以下の SQL を発行すると、
testuser は test_db2 を作成する事は出来ないが、
`test?db1` であれば作成できるというバグのような現象が起きています。

① testuser を作成
insert into mysql.user (host,user,password)
values ('%','testuser',PASSWORD('$password'));

② 権限を付与
insert into mysql.db
  (host,db,user,Select_priv,Insert_priv,Update_priv,
  Delete_priv,Create_priv,Drop_priv,References_priv,Index_priv,
  Alter_priv,Create_tmp_table_priv,Lock_tables_priv)
values
  ('%','test_db1','testuser','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');

③ testuser でログイン
④ test_db2 は作成する事が出来ないが、test_db1 であれば作成が出来てしまう。
なお、create database `test?db1` のように、
バッククオート付きでクエリーを発行するのがミソのようです。

ちなみに、GRANTを使った場合でも同様です。
私は以下の手順で現象を確認しました。

① データベースを作成
create database `test_db1`;
② GRANT
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
ON test_db1.* TO testuser@localhost IDENTIFIED BY 'testtest';
③ testuser でログイン
④ test_db2 は作成する事が出来ないが、test_db1 であれば作成が出来てしまう。



[前][次][番号順一覧][スレッド一覧]

     14594 2008-06-06 22:06 [<kozu@xxxxxxxxxx>   ] 権限について                            
     14595 2008-06-06 22:35 ┗[Katsutoshi Nakatomi ]                                       
     14596 2008-06-06 23:24  ┗[<kozu@xxxxxxxxxx>   ]                                     
     14597 2008-06-06 23:47   ┗[Katsutoshi Nakatomi ]                                   
->   14598 2008-06-07 00:42    ┗[<kozu@xxxxxxxxxx>   ]                                 
     14599 2008-06-07 00:47     ┗[<kozu@xxxxxxxxxx>   ]                               
     14600 2008-06-07 02:42      ┗[<kozu@xxxxxxxxxx>   ]