3A
- Authentication : 认证 验证用户身份
- Authorization : 授权 不同用户设置不同权限
- Accouting | Audition : 审计
Linux
验证用户身份
UID User ID
- 管理员 root UID=0
- 普通用户
- 系统用户 UID 1-999 不需要登陆,给程序用的
- 自定义用户 UID 1000+ 可以登录
GID Group ID
创建用户时会自动创建同名的用户组
- 管理员组 root GID=0
- 普通用户组
- 系统用户组
- 自定义用户组
用户和组的关系
- 主要组 用户必须有且只有一个主要组
- 附加组 用户可以加入多个附加组,可以有也可以没有
一个程序访问一个文件,需要看运行程序的用户身份来决定是否可以访问该文件。
用户的UID可以修改
修改/etc/passwd 中相关内容,可以更改用户UID
思考:在Liunx系统中UID可以重复么?例如,可以将user1的UID更改为0么?
根据规定,普通用户的uid必须大于499且不能和已存在的uid重复。
但是我们通过看useradd 选项可以发现
-o, --non-unique 允许使用重复的 UID 创建用户
也就是说,系统中允许uid重复的用户,类似于硬链接的形式。
在某些特 定目的下,系统中可以存在多个拥有不同注册名、但UID相同的用户,事实上,这些使用不同注册名的用户实际上是同一个用户。
[21:03:34 root@C8-3-55 ~]#tail -2 /etc/passwd
pipewire:x:989:985:PipeWire System Daemon:/var/run/pipewire:/sbin/nologin
user1:x:8892:8892::/home/user1:/bin/bash
[21:03:45 root@C8-3-55 ~]#useradd -o user2 -u 8892 -g 8892
[21:04:27 root@C8-3-55 ~]#tail -2 /etc/passwd
user1:x:8892:8892::/home/user1:/bin/bash
user2:x:8892:8892::/home/user2:/bin/bash
通过实验,我们可以看到使用-o参数,我们创建了两个uid同样为8892的用户uesr1和user2,但家目录却不相同。
我们知道,不同用户是不可以进入其他用户的home目录中的,但具有相同UID的不同用户,却可以进入对方的目录。
[21:05:56 root@C8-3-55 ~]#su user1
[21:06:29 user2@C8-3-55 root]$pwd
/root
[21:06:34 user2@C8-3-55 root]$cd
[21:06:39 user2@C8-3-55 ~]$pwd
/home/user1
[21:06:41 user2@C8-3-55 ~]$cd ~user2
[21:06:52 user2@C8-3-55 user2]$pwd
/home/user2
你懂了么?