组团学

linux shadow文件

阅读 (389113)

说到用户管理,就不得不提到shadow这个文件,shadow有三个功能:

  • 隐藏密码
  • 扩充密码的功能
  • 提供账号管理工具

隐藏密码: 因为/etc/passwd和/etc/group文件的权限必须是0644,这意味着所有的用户都能读取到内容,所以为了安全起见,我们通过shaodw把用户和组的密码分别隐藏在/etc/shadow,/etc/gshadow文件中,且这两个文件只有管理员,也就是root能调用

提供账号管理工具 :我们之前所介绍的用户和组管理的相关命令,都是shadow所提供的工具

扩充密码功能: 这个扩充密码功能就是除了密码之外的额外功能,如,密码的有效期限,设置群组管理员(组长)等,这些都是记录在/etc/shadow,/etc/gshadow文件中

/etc/shadow: 存储用户密码及密码额外功能的文件

文件内容: root:$6$T52Xvk7zu84.tDXp$nfXcm6LTfUx.ZviEo7Eq1bPjDO...::0:99999:7::: bin:*:18027:0:99999:7:::

/etc/shadow文件的格式与/etc/passwd类似,也是每一行代表一个账号的数据,使用:进行分隔.

内容详解

USERNAME:PASSWORD:LAST_CHANGED:MIN_DAYS:MAX_DAYS:WARNNING:EXPIRES:INVALID:RESERVED 1、USERNAME:用户账号名称。 2、PASSWORD:加密后的密码。 3、LAST_CHANGED:密码最后一次修改的日期。 4、MIN_DAYS:密码修改的最小间隔天数。 5、MAX_DAYS:密码修改的最大天数。 6、WARNNING:密码过期前警告的天数。 7、EXPIRES:密码过期的日期 8、INVALID: 账号失效日期 9、RESERVED:保留位,未定义功能

这里面我们所提到的日期都是从1970年1月1日起经过的天数,所以我们看到的不是日期的格式,而是一组数字,我们接下来看下另一个文件

/etc/gshadow: 存储组密码及密码额外功能的文件

文件内容: root::: bin::: daemon:::

内容详解

​GROUPNAME:PASSWORD:ADMINISTRATORS:MEMBERS GROUPNAME: 组名 PASSWORD: 组密码 ADMINISTRATORS: 组长 MEMBERS: 组成员

除此之外用户管理还有一个简单的方法,那就是以root用户身份登录图形界面

1571302990425.png

1571303014802.png

cockpit

# systemctl start cockpit http://localhost:9090

image20200331143440902.png

image20200331143459395.png

管理密码的有效期限

Shadow除了会把密码数据隐藏到其他文件、提供许多账号管理工具外,还允许你为账号或密码设置有效期限,以提高Linux 的安全性。目前的 Shadow 可以设置下列两种期限:

密码过期

一旦超过密码过期日期,用户成功的登录Linux 时,会强迫用户设置一个新的密码。设置完毕后,才会开启用户的 Shell 程序。设置密码过期的目的,在于提高 Linux 的安全性。

账号过期

若超过账号过期日期,Linux 会禁止用户登录系统,即使输入正确的密码,也无法登录。当账号过期时,Linux 会提示用户联系管理员修改账号过期日期。

Your account has expired; please contact your system administrator

我们可以使用chage命令来查看或调整这些相关的期限

  • chage命令
[root@zutuanxue ~]# chage -l hello 最近一次密码修改时间 :从不 密码过期时间 :从不 密码失效时间 :从不 帐户过期时间 :从不 两次改变密码之间相距的最小天数 :0 两次改变密码之间相距的最大天数 :99999 在密码过期之前警告的天数 :7 chage -m 设置密码修改的最小天数 -M 设置密码修改的最大天数 -d 设置密码最后修改日期 -I 设置密码过期后,锁定账号的天数 -E 设置账号过期日期,0=立即过期,-1=永不过期 -W 设置密码过期前的警告天数 -l 查看指定用户的相关信息 -h 帮助

image20200331164400723.png

需要 登录 才可以提问哦