Linux用户与用户组管理终极指南
原博客 https://www.cnblogs.com/xd502djj/archive/2011/11/23/2260094.html
一、核心操作全解析
1. 用户生命周期管理
# 创建用户
adduser webadmin # 交互式创建用户(带引导)
useradd -m -s /bin/bash deploy # 创建用户并生成家目录
# 密码管理
passwd webadmin # 设置密码
chage -M 90 webadmin # 设置密码有效期
# 账户状态控制
passwd -l webadmin # 锁定账户(/etc/shadow密码前加!!)
usermod -e 2024-12-31 tempuser # 设置账户过期时间
2. 用户组深度配置
# 组操作
groupadd -g 1500 appusers # 创建指定GID的组
groupmod -n legacy oldgroup # 修改组名称
# 组成员管理
gpasswd -A admin appusers # 设置组管理员
gpasswd -a user1 appusers # 添加用户到组(保留原组)
3. 组合操作技巧
# 创建开发人员账户
useradd -m -G devops,developers \
-s /bin/zsh \
-c "Senior Developer" \
-u 2101 johndev
# 批量权限配置
echo "%devops ALL=(ALL) NOPASSWD:/usr/bin/apt" | sudo tee /etc/sudoers.d/devops
二、配置文件权威解读
1. /etc/passwd 结构解析
用户名:密码占位符(x):UID:GID:注释:家目录:登录Shell
案例:
webadmin:x:1001:1001:Web Service Account:/home/webadmin:/bin/bash
2. /etc/shadow 安全字段
用户名:加密密码:最后修改日:最小天数:最大天数:警告期:失效期:保留字段
案例:
webadmin:$6$salt...:19475:0:90:7:30::
3. /etc/skel 模板定制
# 自定义默认配置
sudo cp /etc/skel/.bashrc /etc/skel/.bashrc.orig
echo "alias ll='ls -alh'" | sudo tee -a /etc/skel/.bashrc
三、高级权限控制
1. Sudo策略配置
# 允许组执行特定命令
%docker-users ALL=(ALL) NOPASSWD: /usr/bin/docker
# 精确权限控制
jenkins ALL=(deploy) /usr/bin/systemctl restart nginx
2. 文件权限继承
# 设置SGID目录
mkdir /shared-data
chmod 2775 /shared-data # 新建文件自动继承组权限
3. ACL高级控制
setfacl -m u:backup:rx /sensitive/
getfacl /sensitive | grep backup
四、用户环境管理
1. 登录控制
# 限制SSH访问
usermod -s /sbin/nologin restricted_user
# 查看登录记录
last -Faiw | grep -i fail
2. 磁盘配额
# 启用配额
quotacheck -cumg /home
edquota -u webadmin
3. 会话管理
# 终止所有会话
pkill -9 -u locked_user
五、企业级实践方案
1. LDAP集成架构
OpenLDAP -> SSSD -> PAM
↓
Kerberos认证
2. 安全加固策略
# 禁用空密码
sed -i 's/nullok//g' /etc/pam.d/system-auth
# 密码强度策略
authconfig --passminlen=12 --passmaxrepeat=3 --update
3. 审计监控
# 实时监控用户操作
auditctl -w /etc/passwd -p wa -k user_changes
ausearch -k user_changes | aureport -f
六、故障排查工具箱
1. 身份验证诊断
# 查看认证日志
tail -f /var/log/auth.log # Debian系
journalctl -f _TRANSPORT=audit # RHEL系
# PAM调试
authconfig --test | grep hashing
2. 权限验证流程
# 完整权限检查路径
namei -l /path/to/resource
3. 用户环境检测
# 模拟用户登录
sudo -u testuser -i env
附录:关键参数速查表
命令选项 | 作用描述 |
---|---|
useradd -D |
显示默认创建参数 |
usermod -L |
锁定账户(同passwd -l) |
groupadd -r |
创建系统组(GID < 1000) |
chage -d 0 |
强制下次登录修改密码 |
pwck -s |
同步passwd/shadow文件 |
建议结合具体场景灵活运用。对于生产环境操作,务必提前验证并做好备份!
本文来自博客园,作者:茄子_2008,转载请注明原文链接:https://www.cnblogs.com/xd502djj/p/18714640