从 Oracle Solaris 11.1 发行版开始,除可通过 pam.conf 文件配置 PAM 外,还可以通过 /etc/pam.d 目录中的每服务 PAM 策略文件配置 PAM。
/etc/pam.d 目录包含使用 PAM_SERVICE 的值命名的文件。例如,/etc/pam.d/telnet 是从 telnet 服务读取的文件。/etc/pam.d 文件的语法与 /etc/pam.conf 的相同,但 /etc/pam.conf 文件的第一列(服务名称)除外,/etc/pam.d 中省略了这一列。
使用 /etc/pam.d 文件配置 PAM 具有以下优点:
每服务 PAM 策略文件中的错误仅影响该服务。
添加新的 PAM 服务非常简单,因为只需要在 /etc/pam.d 中创建文件。
由于许多其他 PAM 实现(例如 Linux-PAM 和 OpenPAM)支持 /etc/pam.d,因此使用该文件可改善跨平台 PAM 应用程序的互操作性。
系统管理员还可以通过覆盖供应商提供的 /etc/pam.d 文件来定制其站点的安全策略。
在搜索配置时,将遵循以下提供的顺序:
/etc/pam.conf,搜索指定的服务条目
/etc/pam.d/servicename
/etc/pam.conf,搜索其他条目
/etc/pam.d/other
此搜索顺序能够确保在系统通过 pkg(5) 进行升级时会保留对 /etc/pam.conf 文件所做的任何定制并确保策略仍然有效。
有关其他信息,请参见Process Rights Management in Securing Users and Processes in Oracle Solaris 11.2 。