1

友人間で共有 Web サーバーをセットアップしています。各 Web サイトには独自のデータベースがあります。これらの各データベースのユーザー管理をデータベースの所有者に委任できるようにしたいと考えています。そうすれば、Web アプリケーションのアカウントを作成して特定のテーブルにアクセスできますが、特定のアプリケーションが侵害された場合でもさまようことはありません。

例としてさらに明確にするために、次のようなものが欲しいです:

Database server at : db.hosting.coop
db root user : root@db.hosting.coop <full permissions as root>

website and database 1: foo.com
foo.com db user : foo@db.hosting.coop <full permissions on database foo, with ability to grant user access to database foo, granted by root@db.hosting.coop>
foo.coms rails app db user : foorails@localhost <select,insert,update,delete on foo.*, granted by foo@db.hosting.coop>

website and database 2: bar.com
bar.com db user : bar@% <full permissions on database foo, with grant, granted by root@db.hosting.coop>
bar.coms php app db user : bar_website@localhost <select,insert,update,delete on bar.*, granted by bar@db.hosting.coop>
4

1 に答える 1

2

ルートとして:

GRANT CREATE USER ON *.* TO 'foo'@'%';
GRANT ALL PRIVILEGES ON `foo.com`.* TO 'foo'@'%' WITH GRANT OPTION;

fooとして:

CREATE USER 'foorails'@'%' IDENTIFIED BY 'secret';
GRANT SELECT ON `foo.com`.* TO 'foorails'@'%'

他の人と同じように

于 2010-11-04T22:07:53.733 に答える