[pgsql-jp: 38735] Re: ユーザー管理について教えてください

ISHIDA Akio iakio @ mono-space.net
2007年 9月 5日 (水) 14:23:26 JST


こんにちは。石田@苫小牧と申します。

07/09/01 に masato.sakaguchi @ nifty.com<masato.sakaguchi @ nifty.com> さんは書きました:
>  こんにちは、坂口です。
>
> PostgreSQLとAccess2000を使ったシステムを作ってみたいと思い、WindowsXP
> にPostgreSQL 8.2.4をインストールしました。
> 同梱されていたPgadminIIIを使いデータベースとログイン・ロールとグループ
> ・ロールを作成しました。
> データベース      Test
> グループロール    Testrole
> ログインロール    Test
> psqlを用いてTestでログインできるようにしましたが、そのままでは自分のパ
> スワードを変更できません。
> グループロールでTestroleの権限を開くと「ロール作成権限」に有効にしない
> と自分のパスワードを変更できないようです。しかし、これを有効にするとログ
> インロールを作成できるようになります。
> 自分自身のパスワードなどは変更でき、データベースのデータを編集できるけ
> ど、それ以外はできないようにするにはどうすればよいでしょうか?
> よろしくお願いします。

想像ですが、

"Test"としてログインした後、"Testrole"のパスワードを
変更しようとしたのであれば、permission denied に
なると思います。

set role testrole; としてやれば、testrole のパスワードも
変更することができます。

template1=# create role testrole nologin;
CREATE ROLE
template1=# create role test login in role testrole;
CREATE ROLE
template1=# \c - test
You are now connected to database "template1" as user "test".
template1=> alter role test password 'pswd';
ALTER ROLE
template1=> alter role testrole password 'pswd';
ERROR:  permission denied
template1=> set role testrole;
SET
template1=> alter role testrole password 'pswd';
ALTER ROLE


>
> 追記
> 久しぶりにPostgresを使ったらロールという概念がわかりません。今までのユ
> ーザーとも違うものでしょうか?

あまり上手く説明する自信はないのですが、

- 以前のユーザーとグループをまとめてロールと呼ぶようにな
りました。
- ロールは、他のロールを含むことができます。
- 以前のグループは、現在のログイン不可のロールに相当します。
また、以前のユーザーは、現在のログイン可能なロールに相当します。


>
>                                 masato.sakaguchi @ nifty.com 坂口真人
>
>


-- 
ISHIDA Akio <iakio @ mono-space.net/ishida @ cycleof5th.com>



pgsql-jp メーリングリストの案内