在 Oracle® Solaris 11.2 中管理 Kerberos 和其他验证服务

退出打印视图

更新时间: 2014 年 9 月
 
 

如何创建特定于站点的 PAM 配置文件

在缺省配置中,sshtelnet 登录服务涵盖在 other 服务名称下。以下过程中的 PAM 配置文件会更改 sshtelnet 的要求。

开始之前

您必须承担 root 角色。有关更多信息,请参见在 Oracle Solaris 11.2 中确保用户和进程的安全 中的使用所指定的管理权限

  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-1  使用修改后的 PAM 栈创建加密的起始目录

缺省情况下,zfs_pam_key 模块不在 /etc/security/pam_policy/unix 文件中。在本示例中,管理员创建了一个 unix 版本的基于用户的 PAM 策略,然后使用新版本创建起始目录加密的用户。

# 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.2    July 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