Go to main content
Oracle® Solaris 11.3 での Kerberos およびその他の認証サービスの管理

印刷ビューの終了

更新: 2017 年 3 月
 
 

変更された PAM ポリシーを割り当てる方法

この手順では、すべてのシステムイメージ上にデフォルト以外の PAM ポリシーを構成します。すべてのファイルがコピーされたら、新しい PAM ポリシーまたは変更された PAM ポリシーを個々のユーザーまたはすべてのユーザーに割り当てることができます。

始める前に

新しいポリシーを実装する PAM 構成ファイルが変更およびテストされています。

root 役割になる必要があります。詳細は、Oracle Solaris 11.3 でのユーザーとプロセスのセキュリティー保護 の 割り当てられている管理権利の使用を参照してください。

  1. デフォルト以外の PAM ファイルをすべてのシステムに追加します。

    すべての新しい PAM モジュールと、新しい PAM 構成ファイルおよび変更された PAM 構成ファイルをすべてのシステムに追加する必要があります。

    1. 最初に、すべての新しい PAM モジュールをすべてのシステムに追加します。
      1. 32 ビットの PAM モジュールをアーキテクチャーに適したディレクトリに追加します。
      2. 64 ビットの PAM モジュールをアーキテクチャーに適したディレクトリに追加します。

      ディレクトリの設定の例については、PAM モジュールを追加する方法Step 1 を参照してください。

    2. 次に、すべての新しい PAM 構成ファイルをすべてのシステムに追加します。

      たとえば、/opt/local_pam/ssh-telnet-conf ファイルをすべてのシステムに追加します。

    3. 次に、すべての変更された PAM 構成ファイルをすべてのシステムにコピーします。

      たとえば、変更された /etc/pam.conf ファイルと、すべての変更された /etc/pam.d/service-name-files をすべてのシステムにコピーします。

  2. デフォルト以外の PAM ポリシーをすべてのユーザーに割り当てます。
    1. policy.conf ファイルを次のいずれかの方法で変更します。
      • policy.conf ファイル内の PAM_POLICY キーワードに PAM 構成ファイルを追加します。
        # pfedit /etc/security/policy.conf
        ...
        # PAM_POLICY=
        PAM_POLICY=/opt/local_pam/ssh-telnet-conf
        ...
      • policy.conf ファイル内の PROFS_GRANTED キーワードに権利プロファイルを追加します。

        たとえば、使用例 4のユーザーごとの PAM ポリシーの任意の権利プロファイルを割り当てます。

        # pfedit /etc/security/policy.conf
        ...
        AUTHS_GRANTED=
        # PROFS_GRANTED=Basic Solaris User
        PROFS_GRANTED=PAM Per-User Policy of Any,Basic Solaris User
        ...
    2. 変更された policy.conf ファイルをすべてのシステムにコピーします。
  3. デフォルト以外の PAM ポリシーを個々のユーザーに割り当てるには、そのポリシーをユーザーに直接割り当てるか、またはそのポリシーをユーザーに割り当てられている権利プロファイルに追加できます。
    • PAM ポリシーを個々のユーザーに直接割り当てます。
      # usermod -K pam_policy="/opt/local_pam/ssh-telnet-conf" jill
    • 権利プロファイル内に PAM ポリシーを含め、そのプロファイルを個々のユーザーに割り当てます。

      この例では、ldap PAM ポリシーを使用します。

      # profiles -p "PAM Per-User Policy of LDAP" \
      'set desc="Profile which sets pam_policy=ldap";
      set pam_policy=ldap; exit;'

      次に、この権利プロファイルをユーザーに割り当てます。

      # usermod -P +"PAM Per-User Policy of LDAP" jill
使用例 5  ktelnet PAM スタックの選択されたユーザーへの制限

管理者が、Kerberos レルムで telnet を使用することを許可するユーザーの数を制限したいとします。そのため、telnet サービスが有効になる前に、管理者はデフォルトの ktelnet 構成ファイルを変更し、そのデフォルトの ktelnet ファイルを pam_policy ディレクトリ内に配置します。

最初に、管理者は、ユーザーごとの ktelnet ファイルを構成します。

# cp /etc/pam.d/ktelnet /etc/security/pam_policy/ktelnet-conf
# pfedit /etc/security/pam_policy/ktelnet-conf
...
# Kerberized telnet service
#
ktelnet  auth required           pam_unix_cred.so.1
ktelnet  auth required           pam_krb5.so.1

管理者は、そのファイルを 444 のアクセス権で保護します。

# chmod 444 /etc/security/pam_policy/ktelnet-conf
# ls -l /etc/security/pam_policy/ktelnet-conf
-r--r--r--   1 root     root         228 Nov 27 15:04 ktelnet-conf

    次に、管理者は、pam.d ディレクトリ内の ktelnet ファイルを変更します。

  • 最初のエントリにより、ユーザーごとの割り当てが有効になります。

  • 2 番目のエントリは、管理者によって pam_policy=ktelnet が割り当てられていないかぎり、ktelnet の使用を拒否します。

# cp /etc/pam.d/ktelnet /etc/pam.d/ktelnet.orig
                # pfedit /etc/pam.d/ktelnet
...
# Denied Kerberized telnet service
#
auth definitive         pam_user_policy.so.1
auth required           pam_deny.so.1

管理者は、特権ユーザー、通常のユーザー、および root 役割を使用して構成をテストします。構成が合格すると、管理者は telnet サービスを有効にして、Kerberos 管理者にユーザーごとのポリシーを割り当てます。

# svcadm enable telnet
# rolemod -S ldap -K pam_policy=ktelnet-conf kerbadmin

管理者は、変更されたファイルをすべての Kerberos サーバーにコピーし、それらのサーバー上の telnet を有効にします。