Linux下的账户系统文件

Linux下的帐户系统文件主要有/etc/passwd、/etc/shadow、/etc/group和/etc/gshadow 4个。

 

(1)/etc/passwd文件中每行定义一个用户帐号,一行中又划分为多个不同的字段定义用户帐号的不同属性,各字段用“:”隔开。

 

    各字段定义如下:

 

    用户名:用户登录系统时使用的用户名,它在系统中是唯一的。

 

    口令:此字段存放加密的口令。在此文件中的口令是x,这表示用户的口令是被/etc/shadow文件保护的,所有加密口令以及和口令有关的设置都保存在/etc/shadow中。

 

    用户标识号:是一个整数,系统内部用它来标识用户。每个用户的UID都是唯一的。root用户的UID是0,1~499是系统的标准帐户,普通用户从500开始。

 

    组标识号:是一个整数,系统内部用它来标识用户所属的组。

 

    注释性描述:例如存放用户全名等信息。

 

    自家目录:用户登录系统后进入的目录。

 

    命令解释器:批示该用户使用的shell,Linux默认为bash。

linux帐户安全_用户组

 

说实话没看懂存的啥玩意...

 

 

 

 

(2)/etc/passwd文件对任何用户均可读,为了增加系统安全性,用户的口令通常用shadow passwords保护。/etc/shadow只对root用户可读。在安装系统时,会询问用户是否启用shadow passwords功能。在安装好系统后也可以用pwconv命令和pwunconv来启动或取消shadow passwords保护。经过shadow passwords保护的帐户口令和相关设置信息保存在/etc/shadow文件里。

 

    各字段意义如下:

 

    用户名:用户的帐户名

 

    口令:用户的口令,是加密过的

 

    最后一次修改时间:从1970年1月1日起,到用户最后一次更改口令的天数

 

    最小时间间隔:从1970年1月1日起,到用户可以更改口令的天数

 

    最大时间间隔:从1970年1月1日起,到用户必须更改口令的天数

 

    警告时间:在用户口令过期之前多少天提醒用户更新

 

    不活动时间:在用户口令过期之后到禁用帐户的天数

 

    失效时间:从1970年1月1日起,到帐户被禁用的天数

 

    标志:保留位

为啥在试验机里面没看到shadow文件??只有shadow-文件

linux帐户安全_linux_02

 

 

 

 

 

(3)/etc/group文件。将用户分组是Linux中对用户进行管理及控制访问权限的一种手段。当一个用户同时是多个组的成员时,在/etc/passwd中记录的是用户所属的主组,也就是登录时所属的默认组,而其他的组称为附加组。用户要访问附加组的文件时,必须首先使用newgrp命令使自己成为所要访问的组的成员。组的所有属性都存放在/etc/group中,此文件对任何用户均可读。

 

     各字段意义如下:

 

     组名:该组的名称

 

     组口令:用户组口令,由于安全性原因,已不使用该字段保存口令,用“x”占位

 

    GID:组的识别号,和UID类似,每个组都有自己独有的ID号,不同组的GID不会相同

 

    组成员:属于这个组的成员

 

(4)/etc/gshadow文件用于定义用户组口令、组管理员等信息,该文件只有root用户可以读取。

 

    各字段意义如下:

 

    组名:用户组名称,该字段与group文件中的组名称对应

 

    组口令:用户组口令,该字段用于保存已加密的口令

 

    组的管理员帐号:组的管理员帐号,管理员有权对该组添加、删除帐号

 

    组成员:属于该组的用户成员列表,用“,”分隔

具体各个文件的内容解释可以看下方链接

原文:(5条消息) linux如何查看用户_hellocsz的博客-CSDN博客_linux查看用户

 

 

任务一:建立与删除普通用户账户,管理组

 

 

 

    管理帐户的俱行工具及功能如下:

 

    useradd [] 添加新用户

 

    usermod [] 修改已存在的指定用户

 

    userdel [-r] 删除已存在的指定帐户,-r参数用于删除用户自家目录

 

    groupadd [] 加新组

 

    groupmod [] 修改已存在的指定组

 

    groupdel 删除已存在的指定组

linux帐户安全_linux_03

 

 

 

linux帐户安全_linux_04

 

 

 

 

2)创建一个新组group1

    groupadd group1

linux帐户安全_用户名_05

 

 

 

 

成功没啥提示

命名重复会报错

 

4)创建一个新用户user3,指定登录目录为/www,不创建自家用户目录(-M)

    useradd -d /www -M user3

 

 

usermod用法

y具体看收藏

linux帐户安全_root用户_06

 

 

 useradd

linux帐户安全_字段_07

 

 

 

 

 

 

任务二:用户口令管理与口令时效管理

 

 

 

(1)passwd命令

 

    passwd命令用来设置用户口令,格式为:passwd [] []

 

    用户修改自己的用户密码可直接键入passwd,若修改其他用户密码需加用户名。超级用户还可以使用如下命令进行用户口令管理:

 

 

    passwd -l //禁用用户帐户口令

 

    passwd -S //查看用户帐户口令状态

linux帐户安全_linux_08

 

 

linux帐户安全_linux_09

 

 

 

 

 

 root用户可以用passwd 用户名 来修改用户密码(口令)

linux帐户安全_字段_10

 

 

 

 

 

    passwd -u //恢复用户帐户口令

 

    passwd -d //删除用户帐户口令

linux帐户安全_字段_11

 

 

 

(2)chage命令

原文(5条消息) Linux之chage 命令用法详解_xinfuxuan4的博客-CSDN博客_chage

    口令时效是系统管理员用来防止机构内不良口令的一种技术。在Linux系统上,口令时效是通过chage命令来管理的,格式为:chage []

    下面列出了chage命令的选项说明:

    -m days: 指定用户必须改变口令所间隔的最少天数。如果值为0,口令就不会过期。

表示用户在更改完密码后一段时间内不能再更改密码

    -M days: 指定口令有效的最多天数。当该选项指定的天数加上-d选项指定的天数小于当前的日期时,用户在使用该帐号前就必须改变口令。

修改完密码,在该时间段内密码是有效的。过了该时间段密码就变成过期状态状态了。

    -d days: 指定从1970年1月1日起,口令被改变的天数。

更改用户最后一次修改密码的时间

    -I days: 指定口令过期后,帐号被锁前不活跃的天数。如果值为0,帐号在口令过期后就不会被锁。

//      i

设置用户密码从国企密码变为失效密码的时间间隔

    -E date: 指定帐号被锁的日期。日期格式YYYY-MM-DD。若不用日期,也可以使用自1970年1月1日后经过的天数。

设定用户失效时间

    -W days: 指定口令过期前要警告用户的天数。

就是在你密码还有几天过期之前提醒你改密码

    -l: 列出指定用户当前的口令时效信息,以确定帐号何时过期。

// l

    例如下面的命令要求用户user1两天内不能更改口令,并且口令最长的存活期为30天,并且口令过期前5天通知用户

    chage -m 2 -M 30 -W 5 user1

 

密码失效和过期状态区别

  密码过期:设置的密码经过一段的时间后,系统会认为该密码不安全,于是将密码设置为过期状态,用户登录的时候,系统会提示用户进行密码修改;

  密码失效: 在密码过期一段时间后,如果用户没有进行密码修改,则系统会将该密码设置为失效状态(此时用户不可通过该密码进行登录)

 

任务三:PAM可插拔验证模块

linux帐户安全_linux_12

 

进入之后按r可以写

退出:esc + : +wq! +回车