身份鉴别 | 您所在的位置:网站首页 › redhat更改密码复杂度authconfig › 身份鉴别 |
对于一台服务器而言,有两种登录方式:本地登录和远程登录,登录失败处理功能的配置也从这两个方面来配置。由于RedHat系(例如Red Hat Enterprise Linux和CentOS)和Debian系(例如Ubuntu)在配置上稍有不同,所以分开来说。 RHEL(Red Hat Enterprise Linux) 配置红帽的登录失败处理功能主要由/etc/pam.d/system-auth和/etc/pam.d/password-auth来实现。其中,/etc/pam.d/system-auth控制本地登录失败处理,/etc/pam.d/password-auh控制远程登录失败处理。 首先配置/etc/pam.d/system-auth,在第一个auth行插入一行如下: auth required pam_tally2.so deny=3 lock_time=20 unlock_time=60 even_deny_root root_unlock_time=60完成后如下: [root@Oracle ~]# cat /etc/pam.d/system-auth #%PAM-1.0 # This file is auto-generated. # User changes will be destroyed the next time authconfig is run. auth required pam_tally2.so deny=3 lock_time=20 unlock_time=60 even_deny_root root_unlock_time=60 auth required pam_env.so auth required pam_faildelay.so delay=2000000 auth sufficient pam_unix.so nullok try_first_pass auth requisite pam_succeed_if.so uid >= 1000 quiet_success auth required pam_deny.so account required pam_unix.so account sufficient pam_localuser.so account sufficient pam_succeed_if.so uid < 1000 quiet account required pam_permit.so password requisite pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type= password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok password required pam_deny.so session optional pam_keyinit.so revoke session required pam_limits.so -session optional pam_systemd.so session [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid session required pam_unix.so参数解释: deny:触发登录失败锁定功能的次数; lock_time:锁定时间,单位为秒; unlock_time:触发登录失败处理功能后锁定的时长,单位为秒; even_deny_root:启用对root账户的登录失败处理; root_unlock_time:root账户触发登录失败锁定后锁定的时长,单位为秒。 测试 本地登录:
可以看到,在输入错误一次密码后,系统返回了账户被临时封锁,剩余时间8秒,然后我输入了正确的密码,登录还是失败了。root账户在登录失败3次后也被锁定了。 远程登录:
此时我们再使用SSH进行远程登录测试: 只要登录成功一次后,登录失败的计数将清零。 Ubuntu 配置Ubuntu的登录失败处理功能主要由/etc/pam.d/login和/etc/pam.d/common-auth来实现。其中,/etc/pam.d/login控制本地登录失败处理,/etc/pam.d/common-auth控制远程登录失败处理。 首先配置/etc/pam.d/login,在第一个auth行插入一行如下: auth required pam_tally2.so deny=3 lock_time=20 unlock_time=60 even_deny_root root_unlock_time=60 root@Server01:~# cat /etc/pam.d/login | grep -v "#" auth required pam_tally2.so deny=3 lock_time=20 unlock_time=60 even_deny_root root_unlock_time=60 auth optional pam_faildelay.so delay=3000000 auth [success=ok new_authtok_reqd=ok ignore=ignore user_unknown=bad default=die] pam_securetty.so auth requisite pam_nologin.so session [success=ok ignore=ignore module_unknown=ignore default=bad] pam_selinux.so close session required pam_env.so readenv=1 session required pam_env.so readenv=1 envfile=/etc/default/locale @include common-auth auth optional pam_group.so session required pam_limits.so session optional pam_lastlog.so session optional pam_motd.so motd=/run/motd.dynamic session optional pam_motd.so noupdate session optional pam_mail.so standard session required pam_loginuid.so @include common-account @include common-session @include common-password session [success=ok ignore=ignore module_unknown=ignore default=bad] pam_selinux.so open root@Server01:~# 测试 本地登录
通过shell查询,通过远程登录产生的登录失败未被记入到计数。 现在我们将相同的配置添加到/etc/pam.d/common-auth: root@Server01:~# cat /etc/pam.d/common-auth | grep -v "#" auth required pam_tally2.so deny=3 lock_time=20 unlock_time=60 even_deny_root root_unlock_time=60 auth [success=1 default=ignore] pam_unix.so nullok_secure auth requisite pam_deny.so auth required pam_permit.so root@Server01:~#在测试的时候,发现当设置了lock_time的时候,如果在lock_time指定的时间内连续输入多次密码,那么也只会被记为一次,只有两次登录失败的时间大于lock_time指定的时间时才会被记录为两次;如果不指定lock_time,那么连短时间内多次输入错误密码,错误几次就会被记录为几次。无论是本地登录还是远程登录都是一样的结果。 |
CopyRight 2018-2019 实验室设备网 版权所有 |