百度
360搜索
搜狗搜索

linux中uid和gid分别是什么意思详细介绍

在 Linux 系统中,UID(用户标识符,User ID)GID(组标识符,Group ID) 是用于标识用户和用户组的重要数字标识符,主要用于权限管理和系统资源访问控制。以下是具体解释:

1. UID(User ID)

  • 定义
    UID 是一个唯一的整数,用于标识系统中的每个用户。系统内部通过 UID 而非用户名来区分用户,用户名只是 UID 的 “别名”。

  • 常见取值范围

    • 超级用户(root):固定为 0,拥有最高权限。
    • 系统用户:通常为 1~999(或 1~499,不同发行版可能不同),用于运行服务(如 daemonnobody 等),一般不直接登录。
    • 普通用户:通常从 1000 开始(现代 Linux 发行版,如 Ubuntu、CentOS 7+),由管理员或用户创建,用于日常操作。

  • 作用

    • 决定用户对文件、目录的访问权限(读 / 写 / 执行)。
    • 作为进程的所有者标识,影响进程的资源访问权限(如绑定端口、修改系统文件等)。

  • 存储位置
    UID 及其对应的用户名存储在 /etc/passwd 文件中,每行记录一个用户,格式为:
    plaintext
    username:x:uid:gid:comment:home:shell

    例如:user1:x:1001:1001::/home/user1:/bin/bash,其中 1001 是 UID。

2. GID(Group ID)

  • 定义
    GID 是标识用户组的整数,每个用户组对应一个唯一的 GID。用户可以属于多个组(一个主组 + 多个附加组),主组的 GID 会在用户创建时自动分配(通常与 UID 相同)。

  • 分类

    • 主组(Primary Group):用户创建时默认归属的组,GID 记录在 /etc/passwd 中(与用户的 GID 字段一致)。
    • 附加组(Secondary Group):用户额外加入的组,GID 记录在 /etc/group 文件中,一个组可包含多个用户。

  • 作用

    • 用于文件权限的分组管理:文件的所属组由 GID 标识,同组用户共享该文件的组权限。
    • 方便批量管理具有相同权限的用户(如将开发人员加入同一个组,统一分配目录读写权限)。

  • 存储位置
    GID 及其对应的组名存储在 /etc/group 文件中,格式为:
    plaintext
    groupname:x:gid:member1,member2,...

    例如:dev:x:1002:user1,user2,其中 1002 是 GID,user1user2 是组成员。

3. 核心区别与联系

特性 UID GID
标识对象 单个用户 用户组
唯一性 每个用户唯一 每个用户组唯一
默认分配 用户创建时自动生成(管理员指定或系统分配) 主组 GID 通常与 UID 相同,附加组需手动添加
权限影响 决定文件的所有者权限(user 权限) 决定文件的所属组权限(group 权限)

4. 实际应用场景

  • 文件权限管理
    通过 chown 命令修改文件的所有者(UID)和所属组(GID):bash
     new_user:new_group file.txt  

    new_user file.txt

    new_group file.txt

  • 查看用户 / 组信息
    • id username:显示用户的 UID、主 GID 和附加组 GIDs。
    • getent passwd uidgetent group gid:通过数值查询对应的用户名或组名。

  • 进程安全
    服务进程通常以低权限用户(如 UID 1001)运行,避免被攻击时获取 root 权限。

总结

  • UID 是用户的 “数字身份证”,用于区分不同用户并控制其对系统资源的访问。
  • GID 是用户组的 “数字身份证”,用于批量管理用户权限,通过所属组共享文件访问权限。
  • 系统底层通过 UID 和 GID 进行权限判断,而非用户名 / 组名,因此即使修改用户名,只要 UID 不变,权限不会改变。

阅读更多 >>>  如何加快建设电商平台

网站数据信息

"linux中uid和gid分别是什么意思"浏览人数已经达到21次,如你需要查询该站的相关权重信息,可以点击进入"Chinaz数据" 查询。更多网站价值评估因素如:linux中uid和gid分别是什么意思的访问速度、搜索引擎收录以及索引量、用户体验等。 要评估一个站的价值,最主要还是需要根据您自身的需求,如网站IP、PV、跳出率等!