文章目录
UID
指的是用户的ID
(User ID),一个用户的UID标识一个给定用户,UID是用户的唯一标识符,通过UID可以区分不同的用户类别,比如UID为0的是超级用户,UID为1000-600000之间的是普通用户,而UID为1-999之间的是虚拟用户。
- 超级用户:也称为root用户,UID为0,拥有系统的完全控制权限,可以进行修改、删除文件等操作。
- 普通用户:也成为一般用户,UID为1000-60000之间,可以对自己目录下的文件进行访问和修改,也可以对经过授权的文件进行访问。
- 虚拟用户:也称为系统用户,UID为1-999之间,不提供密码登录系统,它们的存在主要是为了方便系统的管理。
Linux中的用户ID会不会重复?会,可以人为将多个不用户的ID配置为重复的ID。
用户在登录系统时,是通过UID来区分用户,而不是通过用户名来区分
实验步骤:
1、创建一个UID为1000的用户user02,再创建一个相同id的user01,通过id命令,发现两个用户都显示为user02
1 | [root@kvm-hkcloud01 ~]# useradd -u 1000 user02 |
2、切换到user01下,发现名称还是user02,但是组信息变为了user01的
1 | [root@kvm-hkcloud01 ~]# su - user01 |
3、当user02的uid发生改变时,再查看user01的信息,因为没有重复的id的情况下,用户名就能正常的显示user01了
1 | [root@kvm-hkcloud01 ~]# usermod -u 1001 user02 |
4、当我再将user02的uid修改为1000的时候,再查看user01的信息,发现user01的用户名又显示为user02了
1 | [root@kvm-hkcloud01 ~]# usermod -u 1000 -o user02 |
那么,当UID重复的时候,是谁决定了用哪个用户名作为显示呢?
想一想,哪个文件记录了UID信息?没错,是/etc/passwd
当我将user01和user02的行进行调转之后(user01)在前,使用id查看的时候,显示的用户名就是user01了
1 | # 修改前 |