Linux · 2 分钟阅读
Linux 用户管理
日常操作:
useradd/usermod/userdel/groupadd/chage。vipw/vigr仍是直接编辑/etc/passwd的"老派"方式,配合pwck/grpck校验。
用户类型
| 类型 | UID | 用途 |
|---|---|---|
| root | 0 | 超级用户 |
| 系统用户 | 1-999(RHEL)/ 1-999(Debian) | 服务运行 |
| 普通用户 | 1000+ | 人 / 应用 |
关键文件
| 文件 | 内容 |
|---|---|
/etc/passwd |
用户名、UID、GID、家目录、shell |
/etc/shadow |
密码哈希、过期时间 |
/etc/group |
组信息 |
/etc/sudoers |
sudo 授权 |
/etc/login.defs |
UID/GID 范围、密码策略默认 |
创建
useradd -m -s /bin/bash -G wheel,docker alice
passwd alice
# RHEL 推荐:直接给 wheel 组成员 sudo 权限
# Debian/Ubuntu:加入 sudo 组
参数:
-m— 创建家目录-s— 指定 shell-G— 附加组-u— 指定 UID-c— 注释(一般用全名)-d— 自定义家目录
修改
usermod -aG docker alice # 追加组,不带 -a 会覆盖
usermod -s /bin/zsh alice
usermod -L alice # 锁定
usermod -U alice # 解锁
usermod -e 2026-12-31 alice # 到期
删除
userdel alice # 保留家目录
userdel -r alice # 删家目录 + 邮件
组
groupadd -g 1500 devs
groupmod -n developers devs
groupdel devs
# 成员管理
gpasswd -a alice devs # 添加
gpasswd -d alice devs # 删除
getent group devs # 看成员
密码策略
# 查看
chage -l alice
# 设密码有效期
chage -M 90 alice
chage -d 0 alice # 下次登录强制改密
chage -W 7 alice # 到期前 7 天提醒
/etc/login.defs 定义默认值;/etc/security/pwquality.conf 控制复杂度。
sudo
visudo
# 末尾加
alice ALL=(ALL) ALL
%devs ALL=(ALL) NOPASSWD: /usr/bin/systemctl restart app
visudo校验语法,直接编辑容易把系统改崩。
审计
last # 登录历史
lastb # 失败登录
who / w # 当前会话
faillog -a # 登录失败汇总
一些经验
- 服务账号给系统用户 +
nologinshell,禁止交互 -aG加组必带-a,否则会清空附加组- 改 UID 用
usermod -u,别直接编辑 passwd - 关键系统用 LDAP / FreeIPA / SSSD 集中管理
- 个人账号别共用,公用账号审计追不到人