实例:

  • 系统重启后,以root用户自动登录到GUI图形桌面;
  • 管理员为用户设置密码时有以限制:
  • 密码长度必须为8位以上;
  • 必须包含大写字母;
  • 必须包含特殊字符;
  • 不能使用最近使用过的密码;
  • 用户本地登录失败的次数为2次,超过后锁定登陆的时间为30S。(增加)

题目解析:

(1)系统重启后,以root用户自动登录到GUI图形桌面;

apt-get install -y gdm3 #系统一般为默认安装
vim /etc/gdm3/daemon.conf #编辑守护进程文件
# Enabling automatic login
AutomaticLoginEnable = true #开启自动登录
AutomaticLogin = root #指定刚自动登录用户为root
vim /etc/pam.d/gdm-autologin
#auth required pam_succeed_if.so user != root quiet_success

PS:延迟登陆配置

vim /etc/gdm3/daemon.conf
TimedLoginEnable = true
TimedLogin = root
TimedLoginDelay = 10 //延迟10秒登录

(2)密码策略

安装 PAM 的 cracklib 模块,cracklib 能提供额外的密码检查能力。

①密码复杂性策略

apt-get install libpam-cracklib
vim /etc/pam.d/common-password
password requisite pam_cracklib.so retry=2 minlen=8 difok=0 ucredit=-1 ocredit=-1

找到 “password” “pam_cracklib.so” “minlen=10 的那行,它表示最小密码长度为10;“ucredit=-1 ocredit=-1 的那行,它表示密码必须至少包含一个大写字母(ucredit和一个标点符号(ocredit)。

②禁止使用旧密码

vim /etc/pam.d/common-password
password [success=1 default=ignore] pam_unix.so obscure sha512 remember=3

找到同时有 “password” “pam_unix.so” 字段并且附加有 “remember=3 的那行,它表示禁止使用最近用过的5个密码(己使用过的密码会被保存在 /etc/security/opasswd 下面)。

③登录次数限制与锁定账户

vim /etc/pam.d/login
auth required pam_tally2.so deny=2 unlock_time=30 even_deny_root root_unlock_time=30
如果不限制root用户,以写成
auth required pam_tally2.so deny=2 unlock_time=30
even_deny_root root用户;
deny 设置普通用户和root用户连续错误登陆的最大次数,超过最大次数,则锁定该用户;
unlock_time 设定普通用户锁定后,多少时间后解锁,单位是秒;
root_unlock_time 设定root用户锁定后,多少时间后解锁,单位是秒;