mysql:5321
From: kohara <kohara <skohara@xxxxxxxxxx>>
Date: Fri, 05 Apr 2002 16:00:00 +0900
Subject: [mysql 05321] Re: データベースの操作権限について
小原です。加藤さん返答ありがとうございます。 > こんにちは、加藤です。 > > mysql データベースのテーブル一覧を見たところ、tables_priv と > いうテーブルがあります。また、マニュアルの『4.3.1 GRANT と REVOKE > 構文』を見たところできるようです。 > > レンタルサーバのように、複数ユーザがいて、それぞれ違うアプリ > ケーション / システムを利用するのであればデータベースを分けて > しまった方がいいと思いますが。 今回権限の設定は以下のようにしています。 -userテーブルの権限を全て無効 revoke all privileges on *.* from yamada; -dbテーブルに対し全ての権限を付与 grant all privileges on UserDB1.* to yamada@localhost identified 'pass'; ⇒これによりyamada@localhostはUserDB1にのみアクセス可能。 上記マニュアル「4.3.1 GRANT と REVOKE 構文」には以下の記述があります。 ---------------------------------------------------------------------- Database レベル Database 権限は与えられたデータベース内の全てのテーブルに適用します。 これらの権限は mysql.db テーブルと mysql.host テーブル内に格納されます。 Table レベル Table 権限は与えられたテーブル内の全てのフィールドに適用します。これら の権限は mysql.tables_priv テーブル内に格納されます。 ---------------------------------------------------------------------- 一見データベース内のテーブルのみに適用されるかのように受取れますが、 実際にはデータベースとテーブルの両方に適用されます。つまりデータベース も削除することができるということです。操作ミスを防ぐためにデータベース は削除できないようにしたいです。 table_privはデータベース内のテーブルに権限を付与できると思うのですが、 実際にユーザーに開放するときはテーブルは存在しない状態で渡します。で すので、明示的にテーブル名を指定してgrantを発行することができないのです。 はて困った・・・。
5317 2002-04-05 12:52 [kohara <skohara@xxxx] データベースの操作権限について 5320 2002-04-05 14:41 ┗[Tomohiro 'Tomo-p' KA] -> 5321 2002-04-05 16:00 ┗[kohara <skohara@xxxx] 5322 2002-04-05 16:17 ┗[Tomohiro 'Tomo-p' KA] 5323 2002-04-05 16:50 ┗[kohara <skohara@xxxx]