6.32. pam_tally-登录计数器(统计)模块
pam_tally.so
[file = * +2+
*] [onerr = [* +3+
* | * +4+
*]] [magic_root] [even_deny_root_account] [deny = * +5+
*] [lock_time = * +6+
*] [unlock_time = * +7+
*] [per_user] [no_lock_time] [no_reset] [审核] [静音] [no_log_info]
pam_tally
[--file * +9+
*] [--user * +10+
*] [--reset [= * +11+
*]] [--quiet]
6.32.1. DESCRIPTION
此模块维护尝试访问的次数,可以重置成功访问次数,如果太多尝试失败则可以拒绝访问。
pam_tally 有几个限制,可以通过 pam_tally2 解决。因此,不建议使用 pam_tally,并将在以后的版本中将其删除。
pam_tally 有两部分:* pam_tally.so *和 pam_tally 。前者是 PAM 模块,后者是一个独立程序。 pam_tally 是一个(可选)应用程序,可用于查询和操作计数器文件。它可以显示用户计数,设置单个计数或清除所有计数。人为地设置高计数可能对阻止用户而不更改其密码很有用。例如,可能会发现在每个午夜从 Cron 作业中清除所有计数很有用。可以使用 faillog(8)命令代替 pam_tally 来维护计数器文件。
通常,失败的尝试访问* root 不会不会*导致 root 帐户被阻止,以防止拒绝服务:如果未为您的用户提供 shell 帐户,并且 root 只能通过 su 或在机器控制台(不是 telnet/rsh 等)上,这是安全的。
6.32.2. OPTIONS
-
GLOBAL OPTIONS
- 可以用于* auth 和 account *模块类型。
-
onerr=[fail|succeed]
-
如果发生奇怪的事情(例如无法打开文件),请返回 PAM_SUCCESS(如果给出了
onerr=succeed
),否则返回相应的 PAM 错误代码。 -
file=/path/to/counter
- 归档保留计数的位置。默认值为
/var/log/faillog
。
- 归档保留计数的位置。默认值为
-
audit
- 如果找不到用户,将用户名登录到系统日志中。
-
silent
- 不要打印信息性消息。没有使用* silent *选项打印的消息会泄漏系统上的帐户,因为它们不为不存在的帐户打印。
-
no_log_info
- 不要通过 syslog(3)记录信息性消息。
-
-
AUTH OPTIONS
- 身份验证阶段首先检查是否应拒绝用户访问,否则应增加尝试登录计数器的次数。然后,在调用 pam_setcred(3)时,它将重置尝试计数器。
-
deny=n
-
如果该用户的计数超过*
n
*,则拒绝访问。 -
lock_time=n
- 尝试失败后,请始终拒绝*
n
*秒。
- 尝试失败后,请始终拒绝*
-
unlock_time=n
- 尝试失败后*
n
*秒后允许访问。如果使用此选项,则超过最大允许尝试次数后,用户将被锁定指定的时间。否则,帐户将被锁定,直到系统 Management 员手动干预解除锁定为止。
- 尝试失败后*
-
magic_root
- 如果模块由 uid = 0 的用户调用,则计数器不会递增。 sysadmin 应该将此用于用户启动的服务,例如 su ,否则应忽略此参数。
-
no_lock_time
- 请勿为此用户使用
/var/log/faillog
中的.fail_locktime 字段。
- 请勿为此用户使用
-
no_reset
- 成功 Importing 时不要重置计数,只能递减。
-
even_deny_root_account
- 根帐户可能不可用。
-
per_user
- 如果
/var/log/faillog
包含该用户的非零.fail_max/.fail_locktime 字段,请使用它代替deny=n
/lock_time=n
参数。
- 如果
-
no_lock_time
- 请勿为此用户使用
/var/log/faillog
中提交的.fail_locktime。
- 请勿为此用户使用
-
-
ACCOUNT OPTIONS
- 如果用户不是“魔根”,则帐户阶段将重置尝试计数器。此阶段可以选择用于无法正确调用 pam_setcred(3)的服务,或者无论其他模块的帐户阶段是否失败,都应执行重置操作。
-
magic_root
-
如果模块由 uid = 0 的用户调用,则计数器不会递增。 sysadmin 应该将此用于用户启动的服务,例如 su ,否则应忽略此参数。
-
no_reset
- 成功 Importing 时不要重置计数,只能递减。
-
6.32.3. 提供的模块类型
提供了auth
和account
模块类型。
6.32.4. 返回值
-
PAM_AUTH_ERR
- 提供的选项无效,模块无法检索用户名,找不到有效的计数器文件或登录失败太多。
-
PAM_SUCCESS
- 一切都成功了。
-
PAM_USER_UNKNOWN
- 用户未知。
6.32.5. EXAMPLES
在登录失败过多后,将以下行添加到/etc/pam.d/login
以锁定帐户。允许失败的次数由/var/log/faillog
指定,并且需要在之前使用 pam_tally 或 faillog(8)进行设置。
auth required pam_securetty.so
auth required pam_tally.so per_user
auth required pam_env.so
auth required pam_unix.so
auth required pam_nologin.so
account required pam_unix.so
password required pam_unix.so
session required pam_limits.so
session required pam_unix.so
session required pam_lastlog.so nowtmp
session optional pam_mail.so standard
6.32.6. AUTHOR
pam_tally 由 Tim Baverstock 和 Tomas Mraz 撰写。