CentOS用户管理实战:5个高效场景与深度避坑指南
在Linux系统管理中,用户管理看似基础却暗藏玄机。许多运维人员停留在简单的useradd和passwd命令层面,当面临批量用户创建、权限精细控制或安全合规需求时,往往效率低下甚至埋下安全隐患。本文将深入五个典型生产场景,揭示CentOS用户管理的高阶玩法与防踩坑实践。
1. 批量用户创建的自动化之道
新员工入职季,手动创建数十个用户账户不仅枯燥低效,还容易出错。一个完善的批量创建方案应包含用户初始化、密码生成和权限预设。
实战脚本示例:
bash复制#!/bin/bash
# 批量创建用户脚本
USER_LIST=("dev1" "dev2" "qa1" "qa2")
DEFAULT_GROUP="developers"
BASE_DIR="/home/company"
LOG_FILE="/var/log/user_create_$(date +%F).log"
for USER in "${USER_LIST[@]}"; do
# 检查用户是否已存在
if id "$USER" &>/dev/null; then
echo "[$(date)] 用户 $USER 已存在,跳过创建" >> "$LOG_FILE"
continue
fi
# 生成随机密码
PASSWORD=$(openssl rand -base64 12 | tr -d '=+/')
# 创建用户并设置密码
useradd -m -d "$BASE_DIR/$USER" -G "$DEFAULT_GROUP" -s /bin/bash "$USER"
echo "$USER:$PASSWORD" | chpasswd
# 设置密码过期策略
chage -d 0 -M 90 -W 7 "$USER"
echo "[$(date)] 已创建用户 $USER 密码: $PASSWORD" >> "$LOG_FILE"
done
关键避坑点:
- 家目录权限:确保新建用户的
~/.ssh目录权限为700,避免私钥泄露风险
