Linux用户和群组管理的主要配置文件

时间:2022-08-01 22:15:28

一、 用户和群组的类型

1、Linux用户账户的类型

Linux下的用户可以分为三类:
超级用户、系统用户、普通用户。
1)超级用户root
root用户就是超级用户、系统管理员,UID为0。
2)系统用户
系统用户是Linux系统中一类特殊的用户,主要是用来完成某些系统管理或服务任务的,UID为1-499,CentOS7为1-999。
3)普通用户
在Linux系统中可以创建多个普通用户,普通用户是由root用户创建的,使用交互式登录,UID为500+, CentOS7为1000+。

2、Linux用户组的类型

Linux中的用户组可以分为三类:
私有组、系统组、普通组。
1)管理员组(root)
用户私有组是创建用户账号时默认生成的与用户登录名一样的用户组;GID为0.
2)系统组
系统组(又称标准组)是安装时系统自动创建的用户组,用于向该组内的用户授予某些特定的访问权限;GID为1-499,CentOS7为1-999
3)普通组
普通用户组是系统管理员创建的组;GID为500+,CentOS7为1000+

3、Linux用户所属组的类别:

用户的主要组(primary group):
用户必须属于一个且只有一个主组
组名同用户名,且仅包含一个用户:私有组
用户的附加组(supplementary group):
一个用户可以属于零个或多个辅助组

二、 用户的配置文件

在Linux中,一切皆文件,所以用户的账号、密码、用户组的信息及密码均是也是存放在不同的配置文件中的。

用户管理主要通过修改用户配置文件完成,用户管理工具的最终目的也是为了修改用户配置文件。Linux的配置文件均是文本文件,因此可使用nano、vim等文本文件内容查看命令来查看或修改。

与用户管理相关的主要配置文件有:
/etc/passwd文件:用户及其属性信息(名称、UID、主组ID等)
/etc/shadow文件:用户密码及其相关属性

1、/etc/passwd文件:

每一行表示一个用户账户的信息,每一行有7段,每段之间用“:”分隔开;其7个字段分别是:

登录名:密码:用户UID号:组的GID号:用户全名或注释:用户家目录:登录shell

passwd文件内容:
login name:登录用名(wang)
passwd:密码(x)
UID:用户身份编号(1000)
GID:登录默认所在组编号(1000)
GECOS:用户全名或注释
home directory:用户主目录(/home/wang)
shell:用户默认使用shell (/bin/bash)
  • Linux用户和群组管理的主要配置文件

2、/etc/shadow文件:

每一行表示一个用户的信息,每一行有9段,每个段之间用“:”分隔开;其9个字段分别是:
(1)登录名。
(2)加密密码。
(3)上次更改密码时间距1970年1月1日的天数。
(4)密码更改后,不可以更改的天数。
(5)密码更改后,必须再次更改的天数(即密码的有效期)。
(6)密码过期之前提前多少天提醒用户(在正确登录时)。
(7)密码过期之后多少天帐户过期(在正确登录时)。
(8) 帐户过期时间(自1970-1-1到该天经过了多少天来表示)。
(9)保留字段。
  • Linux用户和群组管理的主要配置文件

3、需要注意的地方:

(1)/etc/passwd 文件中中的密码字段的特殊设置:
x:该账号可使用密码正常登录
空:不要密码即可登录
*:该账号被禁用
(2)/etc/shadow文件是/etc/passwd的影子文件,两 个文件对应互补。
(3)/etc/shadow中包括用户及被加密的密码和其他/etc/passwd文件没有的信息,如用户的有效期限等。
(4)/etc/shadow文件只有root用户可以读取和操作,/etc/shadow文件的权限不能随便更改为其他用户可读。

三、 群组的配置文件

具有某种共同特性的用户集合就是用户组群,同组用户可以对组群拥有的资源执行相同的操作。

用户组群的配置文件主要有:
/etc/group:组及其属性信息
/etc/gshadow:组密码及其相关属性

其中/etc/gshadow是/etc/group的加密信息文件。

1、/etc/group

/etc/group文件是用户组群的主要配置文件,内容包括用户组群的名称、GID等信息,并且能显示出用户是归属于哪一个或者哪几个组群。

在/etc/group文件,每一行表示一个组群账户的信息,每一行有4段,每段之间用“:”分隔开

/etc/group文件中各用户组的信息格式如下:

groupname :passwd : GID : userlist

groupname:组名
密码位:统一表示为“x”
GID:
CentOS6 为系统组预留1-499;可以通过/etc/login.defs文件查看GID的最大和最小值
CentOS7 为系统组预留1-999;可以通过/etc/login.defs文件查看GID的最大和最小值
以当前组为附加组的用户列表(分隔符为逗号):
当成员先把该组当作辅助组,再转成主要组时,用户列表不改变。
当成员离开该组时,用户列表被删除。
  • Linux用户和群组管理的主要配置文件

2、/etc/gshadow

/etc/gshadow是/etc/group的加密文件,用户组群的管理密码就存放在这个文件中。
/etc/gshadow文件中每一行记录一个用户组群信息,每一行有4段,每段之间用“:”分隔开

gshadow文件格式:
groupname:组名
密码位
组管理员列表:
只能由root任命或撤销,可以同时有多名,以,为间隔;
权利:可以修改组密码,可以将用户从该组(辅助组)当中添加或删除。
以当前组作为附加组的成员列表(以逗号为分隔符):
当成员先把该组当作附加组,再转成主要组时,成员列表不改变;
当成员离开该组时,成员列表被删除。
  • Linux用户和群组管理的主要配置文件

四、其他的一些配置文件

/etc/default/useradd   新用户被创建时,为其设定默认值
/etc/skel/* 该目录下的所有文件都是隐藏文件。
该目录是用来存放新用户配置文件的目录,当新用户被创建时,该目录下的文件会被自动地复制到新用户的家目录下。
通过修改、添加、删除/etc/skel目录下的文件,可为新创建的用户提供统一的、标准的、初始化用户环境。
若用户家目录下的配置文件发生故障时,将/etc/skel目录下相应的文件复制到用户家目录下即可。
/etc/login.defs 用来定义创建一个用户时的默认设置,比如创建邮箱、分配权限、指定用户的UID和GID的范围,用户的过期时间、是否需要创建用户主目录等等。