sed命令 一键完成密码复杂度设置
实例1:口令复杂度规定
密码复杂性配置应满足如下要求
l密码长度至少为8位,且含有如下字符类型中的四种:
英语大写字母 A, B, C, … Z
英语小写字母 a, b, c, … z
西方阿拉伯数字 0, 1, 2, … 9
非字母数字字符,如标点符号,@, #, $, %, &, *等
l密码历史为10次,是指修改口令时禁止使用最近10次已使用过的密码口令(己使用过的口令会被保存在 /etc/security/opasswd 下面)。
sed -i'/^password[[:space:]]\{1,\}requisite[[:space:]]\{1,\}pam_cracklib.so/a\password required pam_pwhistory.so use_authtok remember=10enforce_for_root' /etc/pam.d/system-auth-ac
实例2:口令有效期规定
lPASS_MAX_DAYS 90(最长期限90天)
lPASS_MIN_DAYS 1(最短期限1天)
lPASS_MIN_LEN 8(最少8个字符)
lPASS_WARN_AGE 7(提前7天提示密码修改)
sed -i"s/^\(password[[:space:]]*requisite[[:space:]]*pam_cracklib.so\).*/\1try_first_pass retry=6 minlen=8 dcredit=-1 ucredit=-1 ocredit=-1 lcredit=-1enforce_for_root/g" /etc/pam.d/system-auth-ac
实例3:系统全局PROFILE安全设置
《适用于redhat linux 6 /7 centos6/7》
l配置系统超时自动退出,建议配置成300秒
l配置命令历史记录条数为5000
l连续6次输错密码禁用一段时间,建议配置成300秒
sed -i'/auth[[:space:]]*required[[:space:]]*pam_env.so/a\auth required pam_tally2.so onerr=fail deny=6unlock_time=300 even_deny_root root_unlock_time=300' /etc/pam.d/system-auth-ac
sed -i '/account[[:space:]]*required[[:space:]]*pam_unix.so/i\account required pam_tally2.so' /etc/pam.d/system-auth-ac
sed -i'/auth[[:space:]]*required[[:space:]]*pam_env.so/a\auth required pam_tally2.so onerr=fail deny=6unlock_time=300 even_deny_root root_unlock_time=300'/etc/pam.d/password-auth-ac
sed -i'/account[[:space:]]*required[[:space:]]*pam_unix.so/i\account required pam_tally2.so'/etc/pam.d/password-auth-ac