在此过程中,您将在所有系统映像上配置非缺省 PAM 策略。复制所有文件后,可以将新的或修改后的 PAM 策略分配给单个或所有用户。
开始之前
您已对实施新策略的 PAM 配置文件进行了修改和测试。
您必须承担 root 角色。有关更多信息,请参见在 Oracle Solaris 11.2 中确保用户和进程的安全 中的使用所指定的管理权限。
必须将所有新的 PAM 模块以及新的和修改后的 PAM 配置文件添加到所有系统映像。
有关目录设置的示例,请参见如何添加 PAM 模块中的Step 1。
例如,将 /opt/local_pam/ssh-telnet-conf 文件添加到每个系统映像。
例如,将修改后的 /etc/pam.conf 文件以及任何修改后的 /etc/pam.d/service-name-files 复制到每个系统映像。
# pfedit /etc/security/policy.conf ... # PAM_POLICY= PAM_POLICY=/opt/local_pam/ssh-telnet-conf ...
例如,分配Example 1–3 中在 "Any"(任何)权限配置文件内设置的基于用户的 PAM 策略。
# pfedit /etc/security/policy.conf ... AUTHS_GRANTED= # PROFS_GRANTED=Basic Solaris User PROFS_GRANTED=PAM Per-User Policy of Any,Basic Solaris User ...
# usermod -K pam_policy="/opt/local_pam/ssh-telnet-conf" jill
本示例使用的是 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
管理员希望只有有限数量的用户能在 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 文件。
第一项启用基于用户的分配。
第二项拒绝 ktelnet 使用,除非管理员为您分配了 pam_policy=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。