PAM 服务模块是一个共享库,用于为系统登录应用程序(如 login、rlogin 和 telnet)提供验证和其他安全服务。
PAM 服务的四种类型是:
验证服务模块-用于授予用户访问帐户或服务的权限。提供此服务的模块可以验证用户并设置用户凭证。
帐户管理模块-用于确定当前用户的帐户是否有效。提供此服务的模块可以检查口令或帐户的失效期以及限时访问。
会话管理模块-用于设置和终止登录会话。
口令管理模块-用于强制实施口令强度规则并执行验证令牌更新。
PAM 模块可以实现其中的一项或多项服务。将简单模块用于明确定义的任务可以增加配置灵活性。因此,应该在不同的模块中实现 PAM 服务。然后,可以根据需要按照 PAM 配置中的定义使用这些服务。请参见 pam.conf(4)。
例如,Oracle Solaris OS 为系统管理员提供了用于配置站点口令策略的 pam_authtok_check(5) 模块。pam_authtok_check(5) 模块可以检查建议的口令是否符合各种强度条件。
有关 Oracle Solaris PAM 模块的完整列表,请参见手册页第 5 节:标准、环境与宏。PAM 模块的前缀为 pam_。
Oracle Solaris 11.1 发行版提供了新的 PAM 模块 pam_user_policy(5),该模块添加了对每用户 PAM 配置的支持。该模块调用 pam_eval(3PAM) 函数评估指定的 PAM 配置。PAM 库 libpam(3LIB) 中的 pam_eval() 例程也是 Oracle Solaris 11.1 中新增的例程。