| 加固项 | 系统账号 shell 收敛为 nologin |
|---|---|
| 适用平台 | Linux(RHEL/CentOS/Debian/Ubuntu) |
| 风险等级 | 中 |
| 判定标准 | UID<1000 的账号 shell 应为 nologin 或 false |
核查:找出可登录的系统账号
核查:找出可登录的系统账号
awk -F: '($3 < 1000 && $7 !~ /(nologin|false)$/) { print $1 ":" $7 }' /etc/passwd
# 注:系统账号 UID 门槛随发行版不同(现代发行版 <1000)加固:批量改为 nologin
加固:批量改为 nologin
NOLOGIN=$(command -v nologin || echo /usr/sbin/nologin)
for u in bin daemon adm lp sync shutdown halt mail operator games ftp; do
usermod -s "$NOLOGIN" "$u" 2>/dev/null || true
done
awk -F: '($3 < 1000 && $7 !~ /(nologin|false)$/) { print $1 }' /etc/passwd # 复核批量修改前用 getent passwd <账号> 逐个确认用途;root 与真正的运维账号不在收敛范围内。