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

印刷ビューの終了

更新: 2017 年 3 月
 
 

サイト固有の PAM 構成ファイルを作成する方法

デフォルト構成では、ssh および telnet エントリサービスが other サービス名の対象になっています。この手順の PAM 構成ファイルによって、ssh および telnet に対する要件が変更されます。

始める前に

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

  1. 新しい PAM ポリシー構成ファイルを作成します。

    pfedit コマンドを使用してファイルを作成します。そのファイルを /opt などのサイトの構成ディレクトリ内に配置します。また、/etc/security/pam_policy ディレクトリ内に配置することもできます。


    注 -  /etc/security/pam_policy ディレクトリ内の既存のファイルを変更しないでください。

    ファイル内に説明のコメントを含めます。

    # pfedit /opt/local_pam/ssh-telnet-conf
    #
    # PAM configuration which uses UNIX authentication for console logins,
    # (see pam.d/login), and LDAP for SSH keyboard-interactive logins
    # This stack explicitly denies telnet logins.
    #
    sshd-kbdint  auth requisite          pam_authtok_get.so.1
    sshd-kbdint  auth binding            pam_unix_auth.so.1 server_policy
    sshd-kbdint  auth required           pam_unix_cred.so.1
    sshd-kbdint  auth required           pam_ldap.so.1
    #
    telnet	auth     requisite    pam_deny.so.1
    telnet	account  requisite    pam_deny.so.1
    telnet	session  requisite    pam_deny.so.1
    telnet	password requisite    pam_deny.so.1
  2. ファイルを保護します。

    root 所有権と 444 のアクセス権でファイルを保護します。

    # ls -l /opt/local_pam
    
    total 5
    -r--r--r--   1 root         4570 Jun 21 12:08 ssh-telnet-conf
  3. ポリシーを割り当てます。

    変更された PAM ポリシーを割り当てる方法を参照してください。

使用例 1  変更された PAM スタックを使用した暗号化されたホームディレクトリの作成

デフォルトでは、zfs_pam_key モジュールは /etc/security/pam_policy/unix ファイルに含まれていません。この例では、管理者はユーザーごとの PAM ポリシーの unix バージョンを作成したあと、その新しいバージョンを使用して、ホームディレクトリが暗号化されているユーザーを作成します。

# cp /etc/security/pam_policy/unix /opt/local_pam/unix-encrypt
# pfedit /opt/local_pam/unix-encrypt.conf
...
other   auth required           pam_unix_auth.so.1
other   auth required           pam_unix_cred.so.1
## pam_zfs_key auto-creates an encrypted home directory
##
other auth required           pam_zfs_key.so.1 create

管理者は、ユーザーを追加するときにこのポリシーファイルを使用します。暗号化はファイルシステムに追加できないことに注意してください。暗号化を有効にしてファイルシステムを作成する必要があります。詳細は、zfs_encrypt(1M) を参照してください。

管理者はユーザーを作成し、パスワードを割り当てます。

# useradd -K pam_policy=/opt/local_pam/unix-encrypt.conf jill
# passwd jill
New Password: xxxxxxxx
Re-enter new Password: xxxxxxxx
passwd: password successfully changed for jill

次に、管理者はそのユーザーとしてログインすることによって、暗号化されたホームディレクトリを作成します。

# su - jill
Password: xxxxxxxx
Creating home directory with encryption=on.
Your login password will be used as the wrapping key.
Oracle Corporation      SunOS 5.11      11.3    October 2014

# logout

ZFS サービスモジュールへのオプションについては、pam_zfs_key(5) のマニュアルページを参照してください。

最後に、管理者は、新しいホームディレクトリが暗号化されたファイルシステムであることを確認します。

# mount -p | grep ~jill
rpool/export/home/jill - /export/home/jill zfs - no
rw,devices,setuid,nonbmand,exec,rstchown,xattr,atime
# zfs get encryption,keysource rpool/export/home/jill
NAME                   PROPERTY    VALUE              SOURCE
rpool/export/home/jill  encryption  on                 local
rpool/export/home/jill  keysource   passphrase,prompt  local
使用例 2  ログイン時のユーザーへのエラーメッセージ表示の回避

この例では、管理者が nowarn オプションを使用して、ログインエラーのメッセージが表示されないようにします。

# pfedit /opt/local_pam/unix_ldap.conf
...
##
## turn off login error message`
sshd-kbdint  auth required           pam_unix_cred.so.1    nowarn
sshd-kbdint  auth required           pam_ldap.so.1    nowarn