Linux 用户与组管理速查笔记
一、用户与组基础概念
1.1 关键文件
| 文件 | 内容 | 字段 (冒号分隔) |
|---|---|---|
/etc/passwd |
用户账户信息 | 用户名:密码占位:UID:GID:注释:家目录:Shell |
/etc/group |
组账户信息 | 组名:密码占位:GID:成员列表(逗号分隔) |
/etc/shadow |
加密密码及老化策略 | 用户名:加密密码:上次更改:最小:最大:警告:不活动:过期:保留 |
1.2 主组与辅助组
- 主组:
/etc/passwd第4字段指定的组,用户创建的文件默认属于此组。 - 辅助组:
/etc/group最后字段列出的额外组成员资格。 - 用户对文件的访问权限取决于所有组(主组+辅助组)的权限叠加。
二、查看用户/组/进程/文件所有权命令
| 命令 | 用途 | 示例 |
|---|---|---|
id [用户] |
显示 UID、主 GID 及所有辅助组 | id , id root |
ls -l |
查看文件所有者和组 | ls -l file.txt |
ls -ld |
查看目录自身所有权 | ls -ld /home/user |
ps -au |
显示进程及其所属用户 | ps -au |
whoami |
当前登录用户名 | whoami |
三、获取超级用户权限
3.1 su – 切换用户
su - # 切换至 root (需 root 密码),加载 root 环境
su - 用户名 # 切换至指定用户
exit # 退出当前 shell
3.2 sudo – 以 root 执行命令
sudo -i # 获得 root 交互式 shell (推荐)
sudo 命令 # 单次以 root 执行命令
sudo cat /etc/shadow # 示例:查看仅 root 可读的文件
/etc/sudoers配置 sudo 权限,必须通过visudo编辑。%wheel ALL=(ALL:ALL) ALL→ wheel 组成员可执行任何命令。
四、本地用户管理
4.1 创建用户
useradd 用户名 # 创建用户(默认家目录、bash)
useradd -c "全名" 用户名 # 带注释
4.2 设置/修改密码
passwd 用户名 # root 可为任意用户设置密码,普通用户修改自己密码
4.3 修改用户属性
usermod -c "新注释" 用户名 # 修改注释(全名)
usermod -L 用户名 # 锁定账户(禁止登录)
usermod -U 用户名 # 解锁账户
usermod -aG 组名 用户名 # 追加到辅助组,**必须加 -a**
usermod -g 组名 用户名 # 更改主组
-G单独使用会覆盖所有辅助组,追加必须用-aG。
4.4 验证用户
grep 用户名 /etc/passwd # 查看用户条目
id 用户名 # 查看 UID/GID/所有组
4.5 删除用户
userdel 用户名 # 只删除账户,保留家目录
userdel -r 用户名 # 删除账户和家目录及邮件池
五、本地组管理
5.1 创建/修改/删除组
groupadd 组名 # 创建组(自动分配 GID)
groupadd -g GID 组名 # 创建组并指定 GID
groupmod -n 新组名 旧组名 # 重命名组
groupmod -g 新GID 组名 # 更改 GID
groupdel 组名 # 删除组(不能是某用户的主组)
5.2 查看组
grep 组名 /etc/group # 查看组条目
id 用户名 # 查看用户的所有组
5.3 管理组成员(通过 usermod)
usermod -aG 组名 用户 # 加入辅助组
usermod -g 组名 用户 # 更改主组
六、密码策略配置
6.1 查看 /etc/shadow 字段
用户名:加密密码:最后修改天:最小:最大:警告:不活动:过期:保留
- $6$… :SHA-512 加密密码
6.2 使用 chage 设置老化参数
chage -m 最小天数 -M 最大天数 -W 警告天数 -I 不活动天数 用户名
chage -E YYYY-MM-DD 用户名 # 设置账户过期日期
chage -E -1 用户名 # 清除账户过期日期
chage -l 用户名 # 列出密码老化信息
示例: 要求至少7天改一次,最长90天,过期前14天警告,过期后30天锁定。
sudo chage -m 7 -M 90 -W 14 -I 30 policyuser
七、一键清理与验证
# 删除带家目录的用户
userdel -r 用户名
# 删除组前确认无主组依赖
groupdel 组名
# 快速验证
grep 用户名 /etc/passwd
grep 组名 /etc/group
id 用户名
核心原则: useradd 管理用户,groupadd 管理组,usermod/groupmod 修改属性,chage 控制密码有效期,sudo 安全提权。