1. Linux用户与用户组基础概念解析
在Linux系统中,用户和用户组管理是系统管理员必须掌握的核心技能。理解这些概念对于服务器运维、权限控制和系统安全都至关重要。让我们先理清几个基本概念。
1.1 用户类型划分
Linux系统中的用户主要分为三类:
-
root用户:这是系统的超级管理员账户,UID(用户ID)固定为0。root拥有对系统的完全控制权,可以执行任何操作,包括修改系统文件、安装软件、管理所有用户等。由于权限过大,日常操作中应尽量避免直接使用root账户。
-
系统用户:这类用户的UID范围通常是1-999,是专门为系统服务和进程创建的账户。比如nginx、mysql等服务运行时都会使用特定的系统用户。这些用户通常没有交互式登录权限,也不会有家目录。
-
普通用户:UID从1000开始分配,是我们日常使用的账户。这类用户的权限受到限制,只能访问自己的文件和被授权的系统资源。普通用户可以通过sudo命令临时获取更高权限。
1.2 用户组的作用与分类
用户组是Linux权限管理的重要机制,它允许我们将多个用户组织在一起,统一分配权限。用户组主要分为两类:
主组(Primary Group):
- 每个用户必须有且只能有一个主组
- 创建用户时默认会生成一个与用户名相同的组作为主组
- 用户创建文件时,默认的所属组就是其主组
- 主组信息记录在/etc/passwd文件中
附加组(Supplementary Group):
- 用户可以属于零个或多个附加组
- 主要用于扩展用户的权限范围
- 附加组成员关系记录在/etc/group文件中
- 不影响用户创建文件时的默认所属组
1.3 关键配置文件解析
Linux系统中与用户和组相关的核心配置文件有四个:
-
/etc/passwd:存储用户基本信息
- 格式:
用户名:密码占位符:UID:主组GID:注释:家目录:登录Shell - 示例:
tom:x:1000:1000::/home/tom:/bin/bash
- 格式:
-
/etc/group:存储组信息
- 格式:
组名:密码占位符:GID:附加组成员列表 - 示例:
dev:x:1001:tom,jerry
- 格式:
-
/etc/shadow:存储用户加密密码
- 包含密码哈希、过期时间等信息
- 只有root用户可读
-
/etc/gshadow:存储组加密密码
- 包含组管理员、组成员密码等信息
- 主要用于组密码管理
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 用户与组管理实战操作
2.1 用户创建与管理
创建普通用户(默认主组)
bash复制# 创建用户tom,系统会自动创建同名主组
useradd tom
# 验证用户信息
id tom
``
