与用户和组相关的配置文件

 

目录

          前言

          一、/etc/passwd文件结构

1.查看配置文件帮助信息

2.各字段说明

二、/etc/group文件结构

各字段说明

三、/etc/shadow文件结构

1.各字段说明

2.部分字段详细说明

四、/etc/gshadow文件结构

1.各字段说明

2.部分字段详细说明

五、/etc/default/useradd

1.文件作用

2.查看方式

3.每行所配置的内容

六、/etc/login.defs

参考资料:


前言

Linux用户和组相关的配置文件有:

1. /etc/passwd:用户及其属性信息(名称、UID、基本组ID等等)

            注意:此配置文件并不保存密码

2. /etc/group:组及其属性信息

3. /etc/shadow:用户密码及其相关属性

4. /etc/gshadow:组密码及其相关属性(用户完成基本组切换时使用)

5. /etc/default/useradd:设置添加的用户规则文件(默认值)

6. /etc/login.defs:设置用户帐号限制

本文探讨的问题有如下几个:

      1. /etc/passwd等几个配置文件各字段所表示的内容

      2. /etc/default/useradd所配置的默认内容

      3. /etc/login.defs所配置的默认内容

一、/etc/passwd文件结构

1.查看配置文件帮助信息

      命令:man 5 passwd

与用户和组相关的配置文件

2.各字段说明

/etc/passwd文件中每行信息均有7个字段组成,下面说明各字段所表示的内容

name:password:UID:GID:GECOS:directory:shell

用户名:密码:用户标识符:用户所在组标识符:用户的详细信息:主目录:默认shell

P.S. ①配置文件中存在一些系统账号:如bin, daemon, adm, nobody等

      ②密码字段为占位符:X

      ③UID

            0                系统管理员

        CentOS 6

           1-499         系统用户

           500-65535 登陆用户

        CentOS

           1-999         系统用户

           1000-65535 登陆用户

二、/etc/group文件结构

各字段说明

goup_name:passwd:GID:user_list

组名:组密码:组标识符:用户列表

P.S. 组密码字段为占位符:X

三、/etc/shadow文件结构

1.各字段说明

用户名:加密了的密码:最近一次更改密码的日期:密码的最小使用期限:最大密码使用期限:密码警告时间段:密码禁用期:账户过期日期:保留字段

2.部分字段详细说明

加密了的密码

请参考 crypt(3) 来了解关于解析此字符串的细节信息。

如果密码字段包含一些不是 crypt(3) 合法结果的字符,比如 ! 或 *,用户将无法使用 unix 密码登录(但是可以通过其它方法登录系统)。

此字段可以为空,此时认证为特定的登录名时,不要求密码。然而,一些读取/etc/shadow 文件的应用程序,在密码字段为空时,可能决定禁止任何访问。

以叹号开始的密码字段意味着密码被锁定。该行的剩余字符表示锁定之前的密码。

最后一次更改密码的日期

最近一次更改密码的时间,表示从1970年1月1日开始的天数。

0 有特殊意思,表示用户应该在下次登录系统时更改密码。

空字段表示密码年龄功能被禁用。

密码的最小年龄

最小密码年龄是指,用户一次更改密码之后,要等多长时间才再次被允许更改密码。空字段或 0 表示没有最小密码年龄。

最大密码年龄

最大密码年龄是指,这些天之后,用户必须更改密码。

这些天之后,密码仍然可用。用户将会在下次登录的时候被要求更改密码。

空字段表示没有最大密码年龄,没有密码警告时间段,没有密码禁用时间段(请看下边)。

如果最大密码年龄小于最小密码年龄,用户将会不能更改密码。

密码警告时间段

密码过期之前,提前警告用户的的天数(请参考上边的密码的最大年龄)。

空字段或者 0 表示没有密码警告期。

密码禁用期

密码过期(查看上边的密码最大年龄)后,仍然接受此密码的天数(在此期间,用户应该在下次登录时修改密码)。密码到期并且过了这个宽限期之后,使用用户的当前的密码将会不能登录。用户需要联系系统管理员。

空字段表示没有强制密码过期。

账户过期日期

账户过期的日期,表示从1970年1月1日开始的天数。

注意,账户过期不同于密码过期。账户过期时,用户将不被允许登录;密码过期时,用户将不被允许使用其密码登录。

空字段表示账户永不过期。应该避免使用 0,因为它既能理解成永不过期也能理解成在1970年1月1日过期。

与用户和组相关的配置文件

四、/etc/gshadow文件结构

1.各字段说明

组名:加密了的密码:管理员:成员

2.部分字段详细说明

管理员

必须是一个逗号分隔的用户名列表。

管理员可以更改组密码和成员。

管理员也有成员一样的权限(请看下边)。

成员

必须是一个逗号分隔的用户名列表。

成员可以免密码访问组。

五、/etc/default/useradd

1.文件作用

设置添加的用户规则文件(默认值)

2.查看方式

      ①useradd -D

      ②cat /etc/default

      ③其他

3.每行所配置的内容

  1 # useradd defaults file

  2 GROUP=100                       # 默认的用户组ID

  3 HOME=/home                    #默认用户的家目录

  4 INACTIVE=-1                      #是否启用帐号过期停权,-1表示不启用

  5 EXPIRE=                             #帐号终止日期,不设置表示不启用。

  6 SHELL=/bin/bash                #默认shell

  7 SKEL=/etc/skel                    #用户组目录参考基准目录

  8 CREATE_MAIL_SPOOL=yes    #是否创建用户邮件信箱

六、/etc/login.defs

MAIL_DIR /var/spool/mail             用户默认邮箱放置目录

PASS_MAX_DAYS 99999            多久需变更密码的天数

PASS_MIN_DAYS 0                     多久不可重新设置密码的天数

PASS_MIN_LEN 5                       密码最短的字符长度,已被 pam 模块取代,失去效用!

PASS_WARN_AGE 7                  过期前会警告的天数

UID_MIN 1000                             用户最小的 UID,即小于 1000 的 UID 为系统保留

UID_MAX 60000                         用户能够用的最大 UID

SYS_UID_MIN 201                     保留给用户自行设置的系统帐号最小值 UID

SYS_UID_MAX 999                    保留给用户自行设置的系统帐号最大值 UID

GID_MIN 1000                            用户自定义用户组的最小 GID,小于 1000 为系统保留

GID_MAX 60000                         用户自定义用户组的最大 GID

SYS_GID_MIN 201                     保留给用户自行设置的系统帐号最小值 GID

SYS_GID_MAX 999                    保留给用户自行设置的系统帐号最大值 GID

CREATE_HOME yes                   是否在不加 -M 及 -m主动创建用户主目录

UMASK 077                                 用户主目录创建的 umask ,因此权限会是 700

USERGROUPS_ENAB               使用 userdel 删除时,是否会删除初始群组

ENCRYPT_METHOD SHA512    密码加密使用的机制

 

 

 

 

 

参考资料:

①《鸟哥的Linux私房菜-基础篇》

②马哥随堂笔记

③shadow(5), gshadow(5)

注:诚恳欢迎读者对本文提出批评意见,若发现存在错误,我定第一时间修改。如果读者觉得文章对您有帮助,欢迎点赞鼓励一下哟٩(๑❛ᴗ❛๑)۶。