UID和GID的区别

在 Linux 系统中,UID(User ID)和 GID(Group ID)是两个核心概念,用于标识用户和用户组。它们的主要区别在于作用对象和用途。以下是详细的解释:


1. UID(User ID)

作用对象:用户。
含义:每个用户都有一个唯一的数字标识符,称为 UID。它用于标识系统中的一个特定用户。
特点
唯一性:每个用户的 UID 在系统中是唯一的。
范围
0:超级用户(root)的 UID
1-999:系统用户的 UID(通常用于系统服务和守护进程)。
1000+:普通用户的 UID
用途
◦ 用于权限管理,决定用户对文件或目录的访问权限。
◦ 在进程运行时,UID 决定了进程的所有者。


2. GID(Group ID)

作用对象:用户组。
含义:每个用户组都有一个唯一的数字标识符,称为 GID。它用于标识系统中的一个特定用户组。
特点
唯一性:每个用户组的 GID 在系统中是唯一的。
范围
0:超级用户组(root)的 GID
1-999:系统用户组的 GID
1000+:普通用户组的 GID
用途
◦ 用于权限管理,决定用户组对文件或目录的访问权限。
◦ 一个用户可以属于多个组,但只有一个主组(Primary Group),其 GID 是用户的主组 GID


3. UID 和 GID 的关系

• 每个用户都有一个 UID 和一个主组 GID
• 用户可以属于多个组(附加组),这些组的 GID 可以通过 id 命令查看。
• 文件或目录的权限由 UIDGID 共同决定:
• 如果文件的所有者是当前用户,则应用所有者权限。
• 如果文件的所有组是当前用户的某个组,则应用组权限。
• 否则,应用其他用户权限。


4. 示例

假设有一个用户 alice,其信息如下:

$ id alice
uid=1001(alice) gid=1001(alice) groups=1001(alice),1002(developers),1003(testers)

UID1001,表示用户 alice 的唯一标识符。
GID1001,表示用户 alice 的主组 alice
附加组1002(developers)1003(testers),表示 alice 还属于 developerstesters 组。


5. 总结

特性UIDGID
作用对象用户用户组
唯一性每个用户唯一每个用户组唯一
范围0(root)、1-999(系统用户)、1000+(普通用户)0(root)、1-999(系统组)、1000+(普通组)
用途标识用户,决定用户权限标识用户组,决定组权限
主/附加每个用户只有一个 UID每个用户有一个主组 GID,可以属于多个附加组

理解 UIDGID 的区别对于 Linux 系统的用户管理和权限配置非常重要!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鸭梨山大哎

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值