1、用户和用户组
Linux:多用户多任务=>多用户同一时间登录,执行不同任务互不影响
不同用户具有不同权限(权限的划分与管理)
,每个用户在权限允许范围内完成不间的任务=>多用户多任务的运行机制
通过定义用户组,简化对用户的管理
Linux用户和组的关系
-
一对一:一个用户存在一个组,是组中唯一成员,如
root
- 一对多:一个用户存在多个用户组,具有多个组的共同权限
- 多对一:多个用户可以存在一个组中,这些用户具有和组相同的权限
- 多对多:多个用户可以存在多个组中。
2、id命令:查看用户的UID和GID
Linux通过ID识别用户
Linux系统将用户的名称与ID对应关系存储/etc/passwd
ID两种:
- 用户ID(User ID简称UID)
- 组ID(Group ID 简称GID)
/etc/passwd
根据UID查找到对应的用户名
/etc/group
根据GID查看对应的群组名
引申:
/etc/passwd 各字段含义:
- 账号名称:用例对应UID
- 密码:放置窃取,故显示x,密码数据统一放置
/etc/shadow
中- UID
uid=0,系统管理员。即用户uid改为0,即可获取系统管理员权限。但是不建议多个uid=0的用户
uid=1~499 系统使用。通常不可登录,所以有/sbin/nologin
这个特殊shell的存在
uid=500~ 一般使用者- GID: 关联
/etc/group
- 用户信息说明栏
- 家目录:root的家目录是
/root
。其他一般用户默认/home/用户名
shell
:用户登录系统使用什么shell
注意:/sbin/nologin
用来带成账号无法取到shell环境的登录动作
/etc/group 文件解析
用户组的配置信息
- 组名:字母或数字构成,组名唯一
- 密码:密码标识X,真正加密后的组密码默认报错
/etc/gshadow
文件中
用于设置组管理员,用户加入或退出某用户组时,替代root管理。=>很少使用,当前一般使用sudo
代替- GID:群组ID
- 该用户组中用户列表
每个用户可以加入多个附加组,但只能属于一个初始组。所以当前展示的是作为该组的附加用户,而不展示该组的初始用户
/etc/shadow文件详解
存储用户的秘密信息,又称“影子文件”。仅root用户拥有读权限,其他用户没有任何权限,以保证用户秘密的安全性
3、whoami 和 who am i
4、passwd命令:修改用户密码
5、usermod命令:修改用户信息
6、change命令:修改用户密码状态
7、userdel命令:删除用户
8、su命令:用户切换
9、groupadd命令:添加用户组
10、groupmod命令:修改用户组
11、groupdel命令:删除用户组
12、gpasswd命令:把用户添加进组或从组中移除
13、newgrp命令:切换用户的有效组
14、groups命令:查看用户所属组
-- 创建用户组
[root@localhost lib]# groupadd group01
[root@localhost lib]# groupadd group02
-- 为用户user添加组并同时创建
[root@localhost lib]# useradd -g group01 user01
[root@localhost lib]# passwd user01
Changing password for user user01.
New password:
BAD PASSWORD: The password is shorter than 7 characters
Retype new password:
passwd: all authentication tokens updated successfully.
-- 用户切换
[root@localhost lib]# su user01
-- 查看当前用户所属组
[user01@localhost lib]$ groups
group01
-- 添加附属组
[user01@localhost lib]$ usermod -G group02 user01
usermod: Permission denied.
usermod: cannot lock /etc/passwd; try again later.
[user01@localhost lib]$ su root
Password:
[root@localhost lib]# usermod -G group02 user01
[root@localhost lib]# groups
root
[root@localhost lib]# su user01
[user01@localhost lib]$ groups
group01 group02
[user01@localhost lib]$
参考:
1、Linux用户和用户组管理
2、Linux进阶:用户和用户组管理
3、/etc/passwd字段含义
4、Linux /etc/group文件解析(超详细)
5、Linux /etc/shadow(影子文件)内容解析