新手学 Linux 别死啃命令!第二篇:吃透用户与组管理,掌握系统权限第一道门
·
前言
Linux 是典型的多用户操作系统,支持多人同时登录、独立使用系统。为了区分不同使用者、管控文件与操作权限,系统引入了用户和用户组两大概念。
本篇带你搞懂用户 ID、核心配置文件、用户 / 组增删改查全套命令,学会账号创建、密码修改、身份切换、分组管理,彻底入门 Linux 权限体系。
一、Linux 用户基础介绍
- 登录 Linux 系统,必须使用合法用户名 + 密码,匿名无法登录。
- 系统不会直接识别用户名,每个用户都对应唯一 UID(用户 ID),类比:用户名 = 域名,UID=IP 地址。
- 用户按 UID 范围分为三类:
- 超级用户:UID = 0,默认是
root,拥有系统最高所有权限 - 系统用户:UID 范围 1 ~ 499,系统后台服务专用,一般不允许登录
- 普通用户:UID 范围 500 ~ 极大值,日常使用者账号,权限受管控
- 超级用户:UID = 0,默认是
- 查看当前用户信息(用户名 + UID/GID)
id
二、用户核心配置文件
系统所有用户信息、密码信息,都存放在两个关键文件中。
1. /etc/passwd 用户账号信息文件
所有用户均可读取,每行对应一个用户,字段格式:用户名 : 密码占位符(x) : UID : GID : 注释信息 : 家目录 : 登录Shell
- 密码位统一显示
x,真实密码不在此文件保存 - 家目录:用户登录后默认所在目录
- Shell:用户登录后使用的命令解释器
2. /etc/shadow 用户密码文件
仅 root 可查看,存放加密密码与账号安全策略,共 9 个字段:
- 用户名
- MD5 加密后的用户密码
- 最后一次修改密码的时间(从 1970-01-01 算起的天数)
- 密码最短使用天数(多久后才能再次改密码)
- 密码最长使用天数(多久必须改密码)
- 密码过期前提醒天数
- 密码过期后宽限天数(超时禁用账号)
- 账号失效时间(绝对时间)
- 保留字段
三、Linux 用户组介绍
引入用户组的核心目的:批量管控权限。
- 组拥有独立 GID(组 ID),编号规则同 UID。
- 每个用户必有一个主组(主要组),同时可以加入多个附加组(次要组)。
- 用户主组 GID 定义在
/etc/passwd第四个字段。 - 把用户名写入
/etc/group对应组的成员列表,该组即为用户的次要组。
四、组核心配置文件
1. /etc/group 组账号信息文件
存放所有用户组基本信息,格式:组名 : 组密码占位符(x) : GID : 组内成员列表
2. /etc/gshadow 组密码文件
存放组管理员、组密码、成员信息,日常极少使用。
五、用户操作相关命令
1. useradd 创建新用户
常用参数:
-d:指定用户家目录-u:手动指定 UID(建议搭配-g使用)-g:指定主组-G:指定次要组,多组用逗号分隔-s:指定登录 Shell-p:设置密码(要求传入 MD5 加密后的密文)
示例:
# 创建普通用户 test
useradd test
2. passwd 修改用户密码
普通用户仅能修改自身密码,root 可修改任意用户密码。
passwd # 修改当前用户密码
passwd test # root 修改 test 用户密码
3. su - 切换登录用户
su - 用户名 完整切换身份(同时切换环境变量、家目录)
su - root # 切换到 root 用户
su - test # 切换到 test 用户
exit # 退出当前用户,返回上一级
4. userdel 删除用户
- 直接删除用户:仅删账号,保留家目录
-r:删除用户 同时删除对应的家目录
userdel test
userdel -r test
5. usermod 修改用户信息
用于修改已有用户的各项属性,常用参数:
-d:修改用户家目录-g:修改用户主组-G:修改 / 追加次要组-s:修改登录 Shell-L:锁定账号,禁止登录-U:解锁账号,恢复登录-l:修改用户名-u:修改用户 UID
示例:
usermod -l newname oldname # 重命名用户
usermod -L test # 锁定 test 用户
usermod -U test # 解锁 test 用户
六、用户组操作相关命令
1. groupadd 创建用户组
-g:手动指定组 GID
groupadd group1
groupadd -g 1000 group2
2. groupmod 修改组信息
-g:修改组 GID-n:修改组名称
groupmod -n newgroup oldgroup
3. groupdel 删除用户组
注意:不能删除某个用户的主组
groupdel group1
4. gpasswd 管理组成员
实现用户加入 / 移出附加组
-a 用户名 组名:将用户添加到指定组-d 用户名 组名:将用户从指定组移除
gpasswd -a test group1
gpasswd -d test group1
5. groups 查看用户所属组
groups # 查看当前用户所有组
groups test # 查看 test 用户所有组
七、查看系统在线 / 历史登录用户
1. whoami
查看当前正在操作的用户名
whoami
2. finger
查看指定用户详细信息
finger test
3. users
简单列出当前所有已登录的用户名
users
4. who
查看本机登录用户、登录终端、登录来源
who
5. w
功能比 who 更强,显示登录用户 + 正在运行的程序、系统负载
w
6. write
向当前在线的其他用户发送即时消息
write 用户名
7. last
查看系统历史登录记录
-5:只显示最近 5 条登录记录
last
last -5
本篇小结
- Linux 依靠 UID/GID 识别用户与组,分为超级用户、系统用户、普通用户三类。
/etc/passwd、/etc/shadow、/etc/group是三大核心配置文件,掌握字段含义是理解权限的基础。- 熟练使用
useradd/userdel/usermod、groupadd/groupdel/gpasswd完成账号与分组管理。 - 学会切换用户、改密码、锁定账号、查看在线 / 历史登录用户,满足日常运维基础需求。
下期预告
下一篇我们讲解 文件所有者与权限,结合本章用户、组知识,读懂 ls -l 权限字段,学会 chmod、chown 命令,彻底打通 Linux 权限体系。
更多推荐


所有评论(0)