Linux 的三种用户类型
Linux 系统根据 UID(用户 ID)的不同,将用户严格划分为三个等级,就像现实社会中的不同身份一样。
超级用户 (root)
- 身份象征 :UID 固定为
0。 - 权限:系统的绝对统治者。它不受任何权限限制,可以删除系统文件、修改任何配置、安装软件等。
- 风险 :因为是"上帝",所以一旦操作失误(比如
rm -rf /)或者账号被盗,后果是毁灭性的。因此,生产环境中通常禁止 root 直接远程登录。
系统用户 (伪用户)
- 身份象征 :UID 范围通常在
1~999之间(CentOS 7 以后)。 - 作用 :这类用户不是给人用的,而是给程序和服务 用的。比如你安装了 Apache 网站服务,系统可能会创建一个
apache用户来运行它。 - 特点 :
- 它们通常没有登录权限(不能用来登录),或者登录 Shell 被设为
/sbin/nologin。 - 它们的存在是为了满足文件所有权的需求,保证服务运行时的安全隔离。
- 它们通常没有登录权限(不能用来登录),或者登录 Shell 被设为
普通用户
- 身份象征 :UID 通常从
1000开始(CentOS 7 以后)。 - 作用:给真实的人(管理员、开发人员、普通员工)使用的。
- 权限 :权限受限。只能在自己的家目录下随意操作,想动系统文件(如
/etc下的配置)通常需要加sudo提权。

通过命令查看当前用户信息

普通用户
- 目的:为了让人能安全地使用Linux资源。
- 特点:权限有限,只能在指定范围内操作,无法修改系统核心文件。
- UID范围:通常大于1000(CentOS 7+)。
系统用户(伪用户)
- 目的:为了让服务或程序能安全地运行。
- 特点 :它们不是给人用的,而是给程序用的。例如,
bin、mail等服务都需要一个专属的用户身份来运行,以实现权限隔离。这类用户通常无法登录系统。 - UID范围:1 ~ 999(CentOS 7+)。
核心概念:用户组
用户组是为了方便权限管理而设计的。你可以把它想象成一个"权限包",把多个用户放进同一个组里,他们就能共享这个组的权限。
基本组(私有组)
- 创建时机:当你创建一个新用户时,如果没有特别指定,系统会自动为你创建一个和用户名同名的组。
- 特点:这个组就是该用户的基本组。通常情况下,这个组的GID(组ID)和用户的UID(用户ID)是相同的。一个用户只能有一个基本组。
附加组(公有组)
- 目的:为了让用户获得额外的权限。
- 特点 :一个用户可以同时属于多个附加组。例如,用户
alice的基本组是alice,但她也可以被加入到docker和wheel这两个附加组中,从而获得运行Docker和使用sudo的权限。 - 限制:Linux系统默认允许一个用户最多属于31个附加组。
用户与用户组的关系
一个用户可以属于一个基本组和多个附加组,这构成了灵活的多对多关系:
- 一对一:用户A只属于组A。
- 一对多:用户A属于组A(基本组)和组B、组C(附加组)。
- 多对一:用户A和用户B都属于组C。
- 多对多:用户A和用户B都属于组C和组D。



- 查看所有的用户组(cat /etc/group)


linux核心
- 这四个文件是 Linux 权限管理的基石,建议重点掌握前两个。
- /etc/passwd(用户信息文件)
作用: 存储所有用户的基本信息。
特点: 所有用户都可以读取。因为它不包含真正的密码,只包含用户名、UID、GID、家目录等公开信息。
内容示例(书中未列出,补充理解): root:x:0:0:root:/root:/bin/bash
这里的 x 代表密码被存放在 /etc/shadow 里了。 
/etc/shadow(影子文件/密码文件)
作用: 存储用户的真实密码(加密后)以及密码的有效期信息。
特点: 权限极高,只有 root 用户能读。这是为了安全,防止普通用户拿到加密串去暴力破解。- 使用之前先切换root用户
- su root

/etc/group(用户组信息文件)
作用: 定义用户组。里面记录了组名、GID,以及哪些用户把这个组当作"附加组"。
/etc/gshadow(组密码文件)
作用: 类似于 /etc/shadow,它是用来存储组管理员和组密码的。
现状: 在实际日常运维中,这个文件用得比较少,一般组管理不需要设密码。
/etc/passwd 文件字段详解(用户名)

/etc/shadow 文件的字段及其含义(密码)

/etc/group 文件的字段及其含义

/etc/gshadow 文件的字段及其含义

然后是通过命令对用户进行增删改



组合命令,创建用户-修改密码-删除用户

然后就是chmod命令和sudo命令和权限的模块分别见后文
上文全部理解并且实操就差不多了,这个是整理的,25年写过了所以不想写了emm
别管我懒,哈哈