1012345678910111213141516171819202122232425262728293012

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
【 --/--/-- (--) 】 スポンサー広告 | TB(-) | CM(-)

PostgreSQLのログインユーザーを作成 (1)

サーバープロセスの起動まわりの設定をやっと終えたので、クライアントからログインできるよう設定する。

ユーザーpostgresでログインできるのは確認した。ただ、これは特権ユーザーなので、通常権限のユーザーを作る事にする。
いい名前が思いつかないので、hogeにしてしまおう。w


LinuxコマンドプロンプトからPostgreSQLデータベースユーザーを作る。データベースにログインした状態でないのに操作できてしまうのは違和感がある。もちろんデータベースログインした状態でも同等の操作はできるんだろうけど、逆にログインしてないと操作できないようにできるんだろうか?
これは後で調べてみる価値がありそうだな。
自分しか使わない実験環境なら関係ないけど、仕事でセキュリティをはじめ運用まわりを設計する時には絶対問題にされそう。


ま、それは後で調べるとして、とりあえず実際にユーザーを作ってみる。作るユーザーはhogeとpiyo。
PostgreSQL用の特権Linuxユーザー、postgresにsuして、Linuxシェル環境からcreateuserコマンドでデータベースユーザーを作成する。
(上に特権ユーザーと書いているが、LinuxのOSユーザーとしてはUIDが0でないので、スーパーユーザーではない。)


[root@localhost ~]# su - postgres
-bash-4.1$ createuser -D -E -R -S -P hoge
Enter password for new role:
Enter it again:
-bash-4.1$ createuser -D -E -R -S -P piyo
Enter password for new role:
Enter it again:
-bash-4.1$ psql postgres
psql (8.4.18, server 9.3.2)
WARNING: psql version 8.4, server version 9.3.
Some psql features might not work.
Type "help" for help.

postgres=# select username, passwd from pg_user;
ERROR: column "username" does not exist
LINE 1: select username, passwd from pg_user;
^
postgres=# select usename, passwd from pg_user;
usename | passwd
----------+----------
postgres | ********
hoge | ********
piyo | ********
(3 rows)

postgres=# \q
-bash-4.1$ psql -U piyo postgres
psql (8.4.18, server 9.3.2)
WARNING: psql version 8.4, server version 9.3.
Some psql features might not work.
Type "help" for help.

postgres=> select * from pg_user;
usename | usesysid | usecreatedb | usesuper | usecatupd | userepl | passwd | valuntil | useconfig
----------+----------+-------------+----------+-----------+---------+----------+----------+-----------
postgres | 10 | t | t | t | t | ******** | |
hoge | 16384 | f | f | f | f | ******** | |
piyo | 16385 | f | f | f | f | ******** | |
(3 rows)

postgres-> \q


psqlのコマンドプロンプトが細かい所に配慮が効いている。
ユーザーpostgresでログインしてるときと、他のユーザーでログインしているときで、プロンプトが変わっている。
特権ユーザーpostgresの時は、まるでシェル環境にrootでログインしているように、プロンプトに"#"がつく。
面白い。

ところで、piyoユーザーでログインしたとき、パスワードを聞かれなかったような...?
何か設定が漏れてるようだ。調べてやり直そう。



・参考リンク
誰でも簡単!PostgreSQLのインストールと初期設定(初期設定編)--DBオンライン
スポンサーサイト
【 2014/02/08 (Sat) 】 データベース PostgreSQL | TB(0) | CM(0)
コメントの投稿












管理者にだけ表示を許可する
トラックバック
この記事のトラックバックURL

プロフィール

Ed U Song

Author:Ed U Song
社内ノマドなエンジニア。
仕事で触れる機会のないものを自宅環境作って実験。

スポンサーリンク
最新コメント
最新トラックバック
検索フォーム


                                         
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。