插件窝 干货文章 Linux规定了几种不同类型的用户

Linux规定了几种不同类型的用户

用户 权限 系统 UID 479    来源:    2025-05-01

在Linux系统中,用户类型主要通过用户标识(UID)范围功能角色进行划分。以下是详细的分类说明:


一、按 UID 范围 划分(基于系统约定)

  1. 超级用户(root)

    • UID 0:拥有系统最高权限,可执行任何操作(需谨慎使用)。
  2. 系统用户(System Users)

    • UID 1–999(传统系统)或 1–499(如RHEL/CentOS 6):
      用于运行系统服务或守护进程(如 apachemysql),通常无登录权限,确保服务以最小权限运行。
  3. 普通用户(Regular Users)

    • UID 1000+(现代Linux)或 500+(旧版):
      由管理员创建的实际用户,用于日常登录和操作,权限受限(家目录通常位于 /home/username)。

二、按 功能角色 划分

  1. 超级用户(root)

    • 特权用户,可绕过所有权限检查。
  2. 普通用户

    • 权限受限,仅能访问授权文件和进程(通过sudo临时提权)。
  3. 服务用户(Service Accounts)

    • 专为运行后台服务创建,如 nginxpostgres,无登录shell(Shell设置为 /sbin/nologin)。
  4. 伪用户(Pseudo Users)

    • 无家目录或登录权限,用于系统进程(如 bindaemonnobody)。

三、特殊用户类型

  1. sudo用户

    • 被加入 /etc/sudoers 文件,允许通过 sudo 执行管理员命令。
  2. 受限用户(Restricted Shell)

    • 使用 rbashchroot 限制其访问范围。
  3. 网络用户(NIS/LDAP用户)

    • 账户信息存储在中央认证服务器(如NIS、LDAP),非本地 /etc/passwd

四、关键配置文件

  • 用户信息/etc/passwd(包含UID、GID、Shell等)
  • 密码哈希/etc/shadow(加密存储,仅root可读)
  • 用户组/etc/group
  • sudo权限/etc/sudoers

示例:查看用户类型

# 查看用户UID(普通用户通常≥1000)
id -u username

# 列出系统用户(UID < 1000)
awk -F: '$3 < 1000 {print $1}' /etc/passwd

# 检查用户是否在sudoers列表
sudo -l -U username

总结

Linux通过UID和功能角色灵活管理用户权限,核心原则是最小权限分配,以提升系统安全性。理解这些分类有助于合理规划账户和权限控制。