1、密码复杂度
vi /etc/pam.d/system-auth
password requisite pam_pwquality.so try_first_pass local_users_only retry=3 minlen=8 dcredit=-2 ucredit=-1 lcredit=-1 ocredit=-1 enforce_for_root authtok_type=
-- 策略说明:
try_first_pass local_users_only
retry=3 -- 密码重试次数3
minlen=8 -- 最小长度16
dcredit=-2 -- 最少包含2个数字
ucredit=-1 -- 最少包含1个大写字母
lcredit=-1 -- 最少包含1个小写字母
ocredit=-1 -- 最少包含1个特殊字符
enforce_for_root -- 策略对root用户生效
authtok_type=
-- 策略详解:
--定义登录/修改密码失败时,可以重试的次数
retry=N
-- 新密码的最小长度
minlen=N
-- 当N > 0 时表示新密码中数字出现的最多次数; 当N < 0时表示新密码中数字出现最少次数;
dcredit=N
--当N>0时表示新密码中大写字母出现的最多次数;当N<0时表示新密码中大写字母出现最少次数;
ucredit=N
-- 当N>0时表示新密码中小写字母出现的最多次数;当N<0时表示新密码中小写字母出现最少次数;
lcredit=N
-- 当N>0时表示新密码中特殊字符出现的最多次数;当N<0时表示新密码中特殊字符出现最少次数;
ocredit=N
-- 拒绝包含多于N个相同连续字符的密码。默认值为0表示禁用此检查。
maxrepeat=N
-- 拒绝包含长于N的单调字符序列的密码。默认值为0表示禁用此检查。
-- 实例是’12345’或’fedcb’。除非序列只是密码的一小部分,否则大多数此类密码都不会通过简单检查。
maxsequence=N
-- 如果用户更改密码是root,则模块将在失败检查时返回错误。
-- 默认情况下,此选项处于关闭状态,只打印有关失败检查的消息。
-- 但root仍可以更改密码。不要求root用户输入旧密码,因此不会执行比较旧密码和新密码的检查。
enforce_for_root
2、密码有效期
Password aging controls:
PASS_MAX_DAYS Maximum number of days a password may be used.
PASS_MIN_DAYS Minimum number of days allowed between password changes.
PASS_MIN_LEN Minimum acceptable password length.
PASS_WARN_AGE Number of days warning given before a password expires.
vi /etc/login.defs
PASS_MAX_DAYS 180 -- 密码过期最大天数
PASS_MIN_DAYS 90 -- 密码过期最小天数
PASS_MIN_LEN 16 -- 密码长度
PASS_WARN_AGE 7 -- 密码过期提醒天数
3、禁止空口令及口令历史
3.1、禁止空口令
默认已禁止空口令
vi /etc/pam.d/system-auth
auth sufficient pam_unix.so nullok try_first_pass
password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok
3.2、口令历史
记录最近三次的密码
vi /etc/pam.d/system-auth
auth sufficient pam_unix.so nullok try_first_pass
password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok remember=3 -- 记录最近三次密码
4、会话超时时长
vi /etc/profile
-- 单位秒,10分钟超时
export TMOUT=600
-- 配置生效
source /etc/profile
5、命令历史的显示时间及记录行数
vi /etc/profile
-- 显示时间格式
export HISTTIMEFORMAT='%F %T'
-- 显示记录行数:
HISTFILESIZE=100
-- 配置生效
source /etc/profile