11.7.2 PAM認証の環境設定例(OSユーザ名を使用してPAM認証をする場合)
OSユーザ名とパスワードを使用してPAM認証をする場合の環境設定例を説明します。次の条件下で環境設定をするとします。
-
OSユーザ名:OSUSER
-
パスワード:OSPASSWORD
-
Linux版のHADBクライアントを使用している
手順
-
PAMの設定を行う
-
サーバマシンに正しくログインできることを確認する
PAM認証を使用するOSユーザ名(OSUSER)で,サーバマシンに正しくログインできることを確認してください。
-
PAM設定ファイルのサンプルファイルをコピーする
OSのスーパユーザで,次のコマンドを実行してください。
cp $ADBDIR/sample/pam/hadb /etc/pam.d/
PAM設定ファイルのサンプルファイル($ADBDIR/sample/pam/hadb)を,/etc/pam.dディレクトリ下にコピーします。
-
PAM設定ファイル(/etc/pam.d/hadb)の所有者とパーミッションを変更する
OSのスーパユーザで,次のコマンドを実行してください。
chown root:root /etc/pam.d/hadb chmod 644 /etc/pam.d/hadb
-
-
/etc/shadowファイルに対する読み取り権限を許可する
次のすべての操作は,OSのスーパユーザで実行してください。
-
/etc/shadowファイルに対する読み取り権限を許可するOSユーザの所属グループshadowを作成する
groupadd shadow
-
/etc/shadowファイルの所有グループをshadowに変更する
chgrp shadow /etc/shadow
-
/etc/shadowファイルのパーミッションを設定する
/etc/shadowファイルに,所有グループに対して読み取り権限だけを許可するようにパーミッションを設定します。
chmod g+r /etc/shadow
-
/etc/shadowファイルの所有グループshadowにHADB管理者(adbmanager)を追加する
gpasswd -a adbmanager shadow
-
-
HADBユーザを作成する
-
HADBユーザを作成する
DBA権限を持っているHADBユーザで,次のSQL文を実行してください。
CREATE USER "OSUSER" IDENTIFIED WITH PAM
上記のSQL文を実行すると,PAM認証を使用するOSユーザ名(OSUSER)と同じ名称の認可識別子のHADBユーザが作成されます。
-
HADBユーザにCONNECT権限を付与する
DBA権限を持っているHADBユーザで,次のSQL文を実行してください。
GRANT CONNECT TO "OSUSER"
上記のSQL文を実行すると,HADBユーザ(OSUSER)にCONNECT権限が付与されます。
-
-
秘密鍵ファイルを作成する
-
秘密鍵ファイルの保存先ディレクトリを作成する
HADB管理者で,次のコマンドを実行してください。
mkdir /HADB/.private_key chmod 700 /HADB/.private_key
サーバマシン上に秘密鍵ファイルの保存先ディレクトリ(/HADB/.private_key)を作成し,パーミッションを設定します。
-
秘密鍵ファイルを作成する
HADB管理者で,次のコマンドを実行してください。
openssl genrsa -out /HADB/.private_key/adb_privkey.pem 4096 chmod 400 /HADB/.private_key/adb_privkey.pem
秘密鍵ファイル(/HADB/.private_key/adb_privkey.pem)を作成し,パーミッションを設定します。
-
-
公開鍵ファイルを作成する
-
公開鍵ファイルの保存先ディレクトリを作成する
HADB管理者で,次のコマンドを実行してください。
mkdir /HADB/public_key chmod 755 /HADB/public_key
サーバマシン上に公開鍵ファイルの保存先ディレクトリ(/HADB/public_key)を作成し,パーミッションを設定します。
-
公開鍵ファイルを作成する
HADB管理者で,次のコマンドを実行してください。
openssl rsa -in /HADB/.private_key/adb_privkey.pem -pubout -out /HADB/public_key/adb_pubkey.pem chmod 444 /HADB/public_key/adb_pubkey.pem
公開鍵ファイル(/HADB/public_key/adb_pubkey.pem)を作成し,パーミッションを設定します。
-
-
サーバ定義にオペランドを追加する
-
サーバ定義に次のオペランドを追加する
set adb_auth_passwd_privkey_path = /HADB/.private_key/adb_privkey.pem set adb_cmd_passwd_pubkey_path = /HADB/public_key/adb_pubkey.pem
adb_auth_passwd_privkey_pathオペランドには,作成した秘密鍵ファイルの絶対パスを指定します。
adb_cmd_passwd_pubkey_pathオペランドには,作成した公開鍵ファイルの絶対パスを指定します。
-
HADBサーバを再起動する
-
-
HADBクライアントの環境設定を行う
-
公開鍵ファイルの保存先ディレクトリを作成する
HADBクライアントを管理するOSユーザで,次のコマンドを実行してください。
mkdir /HADBCLT/public_key chmod 700 /HADBCLT/public_key
クライアントマシン上に公開鍵ファイルの保存先ディレクトリ(/HADBCLT/public_key)を作成し,パーミッションを設定します。
-
公開鍵ファイルをコピーする
HADBクライアントを管理するOSユーザで,サーバマシン上にある公開鍵ファイル(/HADB/public_key/adb_pubkey.pem)を,クライアントマシン上の公開鍵ファイルの保存先ディレクトリ(/HADBCLT/public_key)下にコピーしてください。
コピー後,次のようにパーミッションを設定してください。
chmod 400 /HADBCLT/public_key/adb_pubkey.pem
-
クライアント定義にオペランドを追加する
set adb_clt_passwd_pubkey_path = /HADBCLT/public_key/adb_pubkey.pem
adb_clt_passwd_pubkey_pathオペランドを追加し,2.で保存した公開鍵ファイルの絶対パスを指定します。
-
-
HADBサーバに接続できることを確認する
-
adbsqlコマンドを実行する
adbsql
作成したHADBユーザ(OSUSER)でHADBサーバに接続します。
-
認可識別子の入力要求に応答する
USER-ID ? "OSUSER"
作成したHADBユーザの認可識別子(OSユーザ名と同じ)を指定して,[Enter]キーを押してください。
-
パスワードの入力要求に応答する
PASSWORD ?
HADBユーザのパスワード(OSユーザのパスワードと同じ)を指定して,[Enter]キーを押してください。
なお,入力したパスワードは表示されません。
次の画面になるとPAM認証に成功し,HADBサーバへの接続が完了しています。
-
USER-ID ? "OSUSER" PASSWORD ? COMMAND ? +----2----+----3----+----4----+----5----+----6----+----7----+
-