/etc/pam.d/su 文件,找到如下行:#auth required pam_wheel.so use_uid
auth required pam_wheel.so use_uid
sudo usermod -aG wheel <username>
/etc/pam.d/system-auth 文件,添加或修改以下行以设置密码复杂度策略:password requisite pam_pwquality.so try_first_pass local_users_only retry=3 minlen=8 dcredit=-1 ucredit=-1 ocredit=-1 lcredit=-1password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok
参数 | 说明 |
minlen=8 | 密码最少 8 个字符 |
dcredit=-1 | 至少包含 1 个数字 |
ucredit=-1 | 至少包含 1 个大写字母 |
lcredit=-1 | 至少包含 1 个小写字母 |
ocredit=-1 | 至少包含 1 个特殊字符 |
retry=3 | 最多允许 3 次尝试 |
chage 命令或修改 /etc/login.defs 文件来设置密码过期策略:/etc/login.defs,修改以下参数:PASS_MAX_DAYS 90 # 密码最大使用天数PASS_MIN_DAYS 1 # 密码最小使用天数(防止短时间内修改密码)PASS_WARN_AGE 7 # 密码过期前 7 天警告
# 设置用户密码 90 天过期sudo chage --maxdays 90 <username># 查看用户密码过期信息sudo chage -l <username>
/etc/pam.d/system-auth,在 pam_unix.so 行之前添加:password required pam_pwhistory.so remember=5 use_authtok
sudo vi /etc/ssh/sshd_config
#PermitRootLogin prohibit-password
PermitRootLogin no
sudo sshd -t 验证配置语法,并保持当前会话不断开,重启后先确认新的 SSH 连接可正常建立,再断开当前会话。sudo systemctl restart sshd
dnf install sudo
visudo 命令安全地编辑 sudoers 文件:sudo visudo
visudo 而非直接编辑 /etc/sudoers,因为 visudo 会在保存前检查语法,避免配置错误导致 sudo 不可用。<username> ALL=(ALL) ALL
%wheel ALL=(ALL) NOPASSWD: ALL
<username> ALL=(ALL) /usr/bin/systemctl restart nginx, /usr/bin/systemctl reload nginx
# 用户别名User_Alias ADMINS = alice, bob# 命令别名Cmnd_Alias NETWORKING = /usr/sbin/ifconfig, /usr/sbin/route, /usr/sbin/dnf# 授权ADMINS ALL=(ALL) NETWORKING
Defaults logfile=/var/log/sudo.log
/var/log/secure),定期检查这些日志以检测异常活动:# 查看 sudo 日志sudo grep sudo /var/log/secure
Defaults timestamp_timeout=5
sudo dnf update
文档反馈