用户和用户组的总结
a 用户和用户组常见关系:
1 一个用户属于一个用户组,这个用户可以是唯一的组成员
2 一个用户属于多个用户组,此用户具有多个用户组的共同权限
3 多个用户属于一个用户组,这些用户都拥有这个组的相同权限
4 多个用户属于多个用户组,这些用户拥有多个用户组的权限
b 用户介绍
Linux系统中存在三类用户:超级用户,普通用户,虚拟用户(系统用户或“伪”用户)
超级用户:拥有对系统的最高管理权限,默认是root用户
超级用户的UID为0 GID为0
普通用户:只能对自己目录下的文件进行访问和修改,具有登录系统的权限
普通用户的UID为500以上
虚拟用户:也叫系统用户或“伪”用户,这类用户是不能登录系统,主要是方便系统管理,满足相应的系统进程对文件属主的要求。例如系统默认的bin、adm、nobody用户等
系统用户的UID:1-499
GID:1-499
用户唯一性:系统中默认每个用户的UID都是唯一存在,并且一个用户至少拥有两个ID:用户ID和组ID
用户的作用:完成用户自身需要完成的任务,不同用户具有的权限也不同,所以能完成的任务不相同
c 用户组介绍
linux组的分类:基本组,私有组和附加组(也称额外组)
基本组:linux在创建用户的时候会同时创建和用户名相同的组,这个组就是基本组,不能把用户从这个组删除。
附加组:也称额外组,用户隶属在基本组之外的其他组。用户可以从附加组中删除。
私有组:私有组就是一个linux用户的基本组在没有其他用户添加到此组,就称基本组属于这个用户的私有组。
d 用户、用户组相关的配置文件
/etc/passwd 内容解释
每一行记录对应一个用户,目前每一行共7个字段用冒号“:”分割
用户名:用户口令:用户id:用户组id:用户注释:用户家目录:默认登陆shell
例子 root:x:0:0:root:/root:/bin/bash
每个字段的详细解释:
用户名:用户账户的字符串
用户口令:存放加密后的用户口令,目前许多Linux版本都使用shadow技术,把真正的密码存放在一个/etc/shadow文件中
用户id:通常UID号的取值范围是0~65535,超级用户UID是0,系统用户UID取值范围1~499,普通用取值范围500~65535,Linux系统中默认新建的用户在500开始
UID是linux下确认用户权限的标志,用户的角色和权限都是通过UID来实现的,因此多个用户公用一个UID是非常危险的,会造成系统权限和管理的混乱,例如将普通用户的UID设置为0后,这个普通用户就具有了root用户的权限,这是极度危险的操作。因此要尽量保持用户UID的唯一性
用户组id:组的GID,与用户的UID类似,这个字段记录了用户所属的用户组。它对应着/etc/group文件中的一条记录。
用户注释:用户的描述信息,比如用户的住址、电话、姓名等等。
用户家目录:用户登录到系统之后默认所处的目录,也可以叫做用户的主目录、根目录等等
默认shell:用户登录系统后默认使用的命令解释器,shell是用户和linux内核之间的接口,用户所作的任何操作,都是通过shell传递给系统内核的。常用的shell有sh、bash、csh等
/etc/shadow 内容解释
每一行记录对应一个用户,目前每一行共9个节段用冒号“:”分割
用户名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:保留字段
例子 root:$1$Uvip.QJI$GteCsLrSSfpnMs.VCOvbs/:14169:0:99999:7:::
每个字段的详细解释:
用户名:用户账户的字符串
加密口令:存放的是加密后的用户口令字串,如果此字段是“*”、“!”、“x”等字符,则对应的用户不能登录系统
密码最后一次修改时间:从某个时间起,到用户最近一次修改口令的间隔天数
密码修改最小时间间隔:两次修改密码之间的最小时间间隔
密码修改最大时间间隔:两次修改密码之间的最大时间间隔,这个设置能增强管理员管理用户的时效性
密码失效警告时间:从系统开始警告用户到密码正式失效之间的天数
密码不活动时间::用户口令作废多少天后,系统会禁用此用户,也就是说系统不再让此用户登录,也不会提示用户过期,是完全禁用。
失效时间:该用户的帐号有效期,超过这个设定时间,帐号失效,用户就无法登录系统了。如果这个字段的值为空,帐号永久可用
保留字段:的保留字段,目前为空,以备linux日后发展之用。
/etc/group内容解释
组名:口令:组标识号:组内用户列表
例子 root:x:0:root
组名:是用户组的名称,由字母或数字构成。与/etc/passwd中的用户名一样,组名不能重复。
口令:存放的是用户组加密后的口令字串,密码默认设置在/etc/gshadow文件中,而在这里用“x”代替,linux系统下默认的用户组都没有口令,可以通过gpasswd来给用户组添加密码。
组标识号:就是GID,与/etc/passwd中的组标识号对应。
组内用户列表: 显示属于这个组的所有用户,多个用户之间用逗号分隔
/etc/gshadow内容解释
组名:组密码:组管理者:组成员
bin:::bin,daemon
https://blog.51cto.com/crazyday/1703341