/etc目录下passwd shadow group gshadow 四个文件中每个字段的含意以及etc目录下login.defs和etc目录下deafult子目录中useradd文件中每个配置项功能说明介绍

发布时间 2023-03-28 13:12:05作者: 魔之怜

1./etc/passwd

root@root:~# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
admin:x:3:3:admin:/dev:/usr/sbin/nologin

字段与字段之间以:隔开,每个字段代表的意思如下:

1.用户名。

2.用户的密码占位符。(之前用户的密码原本存储在该字段,处于安全考虑,最后专门有了/etc/shadow文件,现在默认均由x替代)

3.用户UID值,一般情况下,root的UID为0,1-499默认为系统账号,有的更大些到1000,500-65535为用户的可登录账号,有的系统从1000开始。

4.用户的gid,linux的用户都会有两个ID,一个是用户uid,一个是用户组id。(在我们登录的时候,输入用户名和密码,首先到/etc/passwd查看是否有你输入的账号或者用户名,有的话将该账号与对应的UID和GID(在/etc/group中)读出来。然后读出主文件夹与shell的设置,然后再去检验密码是否正确,正确的话正常登录)

5.用户的账号说明解释。

6.用户的家目录文件夹。

7.用户使用的shell,如果换成/sbin/nologin时默认是没有登录环境的。

 

2./etc/shadow

复制代码
 
root@www:~# cat /etc/shadow
root:$6$X9iEgIhv$wGtrUhjiNRp72LgCTzC1qdi.myfSU9S5nqsfr.m1KInUFoeOUBN73AmMy5sTe91biJLdHgsoimZQzeD9EvGlv1:16769:0:99999:7:::
daemon:*:16547:0:99999:7:::
bin:*:16547:0:99999:7:::
sys:*:16547:0:99999:7:::
sync:*:16547:0:99999:7:::
games:*:16547:0:99999:7:::
man:*:16547:0:99999:7:::
 
复制代码

字段与字段之间以:隔开,每个字段代表的意思如下:

1.用户名,与/etc/passwd中的第一个字段一致。

2.用户的密码加密字段(“该字段存放的是加密后的用户口令字,如果为空,则对应用户没有口令,登录时不需要口令; 星号代表帐号被锁定; 双叹号表示这个密码已经过期了。 $6$开头的,表明是用SHA-512加密的, $1$ 表明是用MD5加密的 $2$ 是用Blowfish加密的 $5$ 是用 SHA-256加密的。)

3.“最后一次修改时间”表示的是从某个时刻起,到用户最后一次修改口令时的天数。(一般这个时间起点是1970年1月1日)

4.“最小时间间隔”指的是两次修改口令之间所需的最小天数。

5.“最大时间间隔”指的是口令保持有效的最大天数。

6.“警告时间”字段表示的是从系统开始警告用户到用户密码正式失效之间的天数。

7.“不活动时间”表示的是用户没有登录活动但账号仍能保持有效的最大天数。

8.“失效时间”字段给出的是一个绝对的天数,如果使用了这个字段,那么就给出相应账号的生存期。期满后,该账号就不再是一个合法的账号,也就不能再用来登录了。

9.最后一个字段,为保留字段,暂时没有任何含义。

 

3./etc/group

复制代码

[root@localhost ~]#vim /etc/group
root:x:0:
bin:x:1:bin,daemon
daemon:x:2:bin,daemon
…省略部分输出…
lamp:x:502:

 
复制代码

字段与字段之间以:隔开,每个字段代表的意思如下:

1.组名,也就是是用户组的名称,有字母或数字构成。同 /etc/passwd 中的用户名一样,组名也不能重复。

2.组密码,和 /etc/passwd 文件一样,这里的 "x" 仅仅是密码标识,真正加密后的组密码默认保存在 /etc/gshadow 文件中。

3.组ID(GID),就是群组的 ID 号,Linux 系统就是通过 GID 来区分用户组的,同用户名一样,组名也只是为了便于管理员记忆。这里的组 GID 与 /etc/passwd 文件中第 4 个字段的 GID 相对应,实际上,/etc/passwd 文件中使用 GID 对应的群组名,就是通过此文件对应得到的。

4.组中的用户,此字段列出每个群组包含的所有用户。需要注意的是,如果该用户组是这个用户的初始组,则该用户不会写入这个字段,可以这么理解,该字段显示的用户都是这个用户组的附加用户。

 

 

4./etc/gshadow

复制代码

[root@localhost ~]#vim /etc/gshadow
root:::
bin:::bin, daemon
daemon:::bin, daemon
...省略部分输出...
lamp:!::

 
复制代码

字段与字段之间以:隔开,每个字段代表的意思如下:

1.组名,同/etc/group文件中的组名相对应。

2.组密码,对于大多数用户来说,通常不设置组密码,因此该字段常为空,但有时为 "!",指的是该群组没有组密码,也不设有群组管理员。

3.组管理员,从系统管理员的角度来说,该文件最大的功能就是创建群组管理员。

4.组中的附加用户,该字段显示这个用户组中有哪些附加用户,和 /etc/group 文件中附加组显示内容相同。

 

 

5./etc/login.defs

复制代码

#创建用户时,要在目录/var/spool/mail中创建一个用户mail文件
MAIL_DIR /var/spool/mail
#密码最大有效期99999
PASS_MAX_DAYS 99999
#两次修改密码的最小间隔时间0
PASS_MIN_DAYS 0
#密码最小长度,对于root无效
PASS_MIN_LEN 5
#密码过期前多少天开始提示
PASS_WARN_AGE 7
#创建用户时不指定UID的话自动UID的范围
UID_MIN 1000
#用户ID的最小值
UID_MAX 60000
#系统uid的最小值
SYS_UID_MIN 201
#系统uid的最大值
SYS_UID_MAX 999
#用户组GID的最小值
GID_MIN 1000
#用户组GID的最大值
GID_MAX 60000
#系统用户组GID的最小值
SYS_GID_MIN 201
#系统用户组GID的最大值
SYS_GID_MAX 999
#允许使用useradd的时候创建用户家目录
CREATE_HOME yes
#权限掩码设置为077(默认为022,注释里面有这方面介绍)
UMASK 077
#使用命令 userdel 删除用户时,是否删除用户的初始组,默认是删除
USERGROUPS_ENAB yes
#指定 Linux 用户的密码使用 SHA512 散列模式加密,这是新的密码加密模式,原先的 Linux只能用 DES 或 MD5 方式加密
ENCRYPT_METHOD SHA512

 
复制代码

 

 

6./etc/default/useradd

1、GROUP=100  #依赖于/etc/login.defs的USE RGRUUPS_ENAB参数,如果为no,则在此处控制

2、HOME=/home  #把用户的家路径健在/home中

3、INACTIVE=-1  #是否启用账户过期停权,-1表示不启用

4、EXPIRE=  #账号终止日期,不设置表示不启用

5、SHELL=/bin/bash  #新用户默认所用的shell类型

6、SKEL=/etc/skel  #配置新用户家目录的默认文件存放路径,当文件提示用户如下显示时表示用户默认继承root的配置文件破损或者被删除

           直接“cp /etc/skel/bash* .”即可

7、CREATE_MAIL_SPOOL=yes