禁止1000以内用户登录
#!/bin/bash
for user in $(awk -F: '($3 < 1000) {print $1}' /etc/passwd); do
# 检查用户是否不是 root
if [ "$user" != "root" ]; then
# 锁定用户账户
usermod -L $user
# 检查用户是否不是 sync, shutdown 或 halt
if [ "$user" != "sync" ] && [ "$user" != "shutdown" ] && [ "$user" != "halt" ]; then
# 将用户的默认 shell 设置为 /sbin/nologin
usermod -s /sbin/nologin $user
fi
fi
done
锁定用户账户:
使用 usermod -L 命令将用户账户锁定,这样用户将无法登录系统。
设置默认 shell 为 /sbin/nologin:
对于非 "root"、"sync"、"shutdown" 和 "halt" 用户,使用 usermod -s /sbin/nologin 命令将用户的默认 shell 设置为 /sbin/nologin。这意味着这些用户将无法通过 SSH 或其他方式登录到系统。