Linux用户(组)管理文件

warning: 这篇文章距离上次修改已过1584天,其中的内容可能已经有所变动。

在Linux里 /etc/group/etc/passwd/etc/shadow 还有 /etc/gshadow 文件都是有关于系统管理员对用户和用户组管理时相关的文件。


用户组(Group)管理文件

用户组(Group)配置文件主要有 /etc/group/etc/gshadow ,其中 /etc/gshadow 是的加密信息文件。

将用户分组是 Linux 系统中对用户进行管理及控制访问权限的一种手段。每个用户都属于某个用户组;一个组中可以有多个用户,一个用户也可以属于不 同的组。当一个用户同时是多个组中的成员时,在 /etc/passwd 文件中记录的是用户所属的主组,也就是登录时所属的默认组,而其他组称为附加组。


/etc/group 文件

用户组的所有信息都存放在/etc/group文件中。此文件的格式是由冒号(:)隔开若干个字段。

/etc/group 文件字段说明:

group.pnggroup.png


/etc/gshadow 文件

/etc/group/etc/gshadow互补的/etc/gshadow/etc/group加密信息文件,比如用户组(Group)管理密码就是存放在这个文件。

对于一些关系结构比较复杂的权限模型,设置用户组密码是极有必要的。比如通过密码验证的方式来让某些用户临时拥有一些用户组特性,而非永久拥有。

/etc/gshadow 文件字段说明:

gshadow.pnggshadow.png


用户(User)管理文件

用户(User)配置文件主要有 /etc/passwd/etc/shadow ,其中 /etc/shadow 是加密信息文件。


/etc/passwd 文件

用户登录系统时会用到。

/etc/passwd 文件字段说明:

passwd.pngpasswd.png

移步UIDGID以查看更多信息。


/etc/shadow 文件

/etc/passwd/etc/shadow 文件是互补的/etc/shadow/etc/passwd加密信息文件,比如用户(User)的密码口令的加密保存等。

/etc/shadow 文件字段说明:

部分字段如果不设置则默认使用/etc/login.defs 文件的设置。

shadow.pngshadow.png


附加:

/etc/login.defs 文件

/etc/login.defs文件定义了与/etc/password/etc/shadow配套的默认用户限制设定,比如:最大最小UID。这个文件是需要的,缺失并不会影响系统的使用,但是也许会产生意想不到的错误。

请注意:如果在 /etc/shadow 文件中设置了相同功能的选项,则以 /etc/shadow 里的设置为准,也就是说 /etc/shadow 的配置优先级高于 /etc/login.defs


UID

UID 是用户的ID 值,在系统中每个用户的UID的值是唯一的,更确切的说每个用户都要对应一个唯一的UID,系统管理员应该确保这一规则。

系统用户的UID的值从0开始,是一个正整数,至于最大值可以在/etc/login.defs可以查到,一般Linux发行版约定为60000;

注意: Linux 是以 UID 作为用户权限的标识,并非用户名!比如: root 的 UID 是0,拥有系统最高权限;但我将其他用户 UID 同样改为0时,这个用户可以进行任何 root 用户权限的操作!这是很危险的!

一般情况下,每个Linux的发行版都会预留一定的UID和GID给系统虚拟用户占用,虚拟用户一般是系统安装时就有的,是为了完成系统任务所必须的用户,但虚拟用户是不能登录系统的,比如 ftp、nobody、adm、rpm、bin、shutdown 等;预留数量以各个系统中 /etc/login.defs 中的 UID\_MIN 的最小值为准;比如Fedora 系统 login.defsUID\_MIN是500,而UID_MAX值为60000,也就是说我们通过adduser默认添加的用户的UID的值是500到60000之间;


GID

GID 和 UID 类似,是一个正整数或0, GID 从0开始, GID 为0的组让系统付予给 root 用户组;系统会预留一些较靠前的GID给系统虚拟用户(也被称为伪装用户)之用;查看系统添加用户组默认的 GID 范围应该查看 /etc/login.defs 中的 GID\_MINGID\_MAX 值;

我们可以对照/etc/passwd和/etc/group 两个文件;我们会发现有默认用户组之说;即当一个用属于多个组时会有一个默认的组;在创建目录和文件时,会使用默认的用户组;


用户登录简要过程

/etc/passwd 是系统识别用户的一个文件,系统所有的用户都在这里有登录记载;

dingzd 这个账号登录为例:

  1. 当用户 dingzd 需要登录时,系统首先会查阅 /etc/passwd 文件,检查是否有名为 dingzd1995 的用户记录;
  2. 然后确定 dingzd 的UID,通过UID 来确认用户和身份;
  3. 如果存在则读取/etc/shadow文件中所对应的 dingzd 的密码;
  4. 如果密码正确,就可以登录系统,并读取用户的配置文件;
最后修改于:2019年12月19日 19:41
评论已关闭