ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

详细解析/etc/shadow文件

2022-05-23 12:03:34  阅读:385  来源: 互联网

标签:SHA 登录 密码 用户 期限 etc shadow 解析 salt


  /etc/shadow,是 Linux系统中的重要系统文件,用于存储加密的用户密码,并且只有系统管理员 root 用户可以访问,防止未经授权的用户查看或者修改该文件。每一行对应每个用户(包括系统用户)的用户密码信息。

# cat /etc/shadow
root:$6$pMbKgN..OICeIjTJ$oLxZ3Y5luz8BqF4pYrQn0IrQhOZ7mcyMo69/.VTbhZqmCaJcPxjIW.Y5nPoKCa0vmrS9b0zMp8ElLSiQ6eqAA.::0:99999:7:::

  该文件的每一行包含 9 个字段,以冒号 (“:”) 分隔,下面逐一解释每个字段:


       用户名
           该用户名必须是系统上存在的有效的用户名。
       加密密码       

           如果该密码字段包含一些非法的字符或者字符串,例如!或 *,这将导致该密码失效,也就是该用户将无法使用 密码登录。

           此字段可能为空,在这种情况下,无需密码即可作为指定的用户进行身份验证。然而,一些应用程序 如果密码字段为空,读取 /etc/shadow 文件可能决定根本不允许任何访问。

           如果用感叹号!开头的密码字段表示密码已锁定。该用户将不能登录。行中剩余的字符代表密码被锁定之前的密码字段。

    如果 salt 是一个以字符“$id$”开头的字符串,后跟一个以“$”结尾的字符串, 然后不使用 DES ,id 标识使用的加密方法,然后确定如何解释密码字符串的其余部分:

        $id$salt$encrypted

        $id可能为:

             1       MD5

                     2a    Blowfish

                     5      SHA-256

                     6      SHA-512

    所以,比如 $5$salt$encrypted 是一个 SHA-256 编码的密码,而 $6$salt$encrypted 是一个 SHA-512 编码的密码。

       "salt" 代表 salt 中 "$id$" 后面最多 16 个字符。 密码字符串的加密部分是实际计算的密码, 这个字符串的大小是固定的:

                             MD5         22 个字符

                             SHA-256  43 个字符

                             SHA-512  86 个字符


       上次更改密码的日期

           需要注意的是该日期为自 1970 年 1 月 1 日 00:00 UTC 以来的天数。

           值 0 具有特殊含义,即用户下次登录系统时应更改密码。

           空字段表示禁用密码老化功能。


       最短密码使用期限

           密码最短使用期限是用户在被允许再次更改密码之前必须等待的天数。

           空字段和值 0 表示没有最短密码期限。


       最大密码期限

           密码最长使用期限是用户必须更改密码的天数。经过此天数后,密码可能仍然有效。下次登录时应要求用户更改密码。

           空字段表示没有密码最长使用期限、密码警告期限和密码不活动期限。

           如果密码最长使用期限小于密码最短使用期限,则用户无法更改其密码。


       密码警告期

           密码到期前的天数(请参阅上面的最大密码使用期限),在此期间应警告用户。

           空字段和值为 0 表示没有密码警告期。



       密码不活动期

           密码过期后的天数(请参阅上面的最长密码使用期限),在此期间密码仍应被接受(以及 用户应在下次登录时更新她的密码)。

           密码到期且该有效期已过后,用户将无法登录。

           空字段表示不执行不活动期。


       账户到期日
           帐户的到期日期,表示为自 1970 年 1 月 1 日 00:00 UTC 以来的天数。请注意,帐户到期与密码到期不同。账户到期时,用户将无法登录。 如果密码过期,则不允许用户使用她的密码登录。
           空字段表示该帐户永不过期。
           不应使用值 0,因为它被解释为没有到期的帐户或 1970 年 1 月 1 日到期的帐户。


       保留字段
           该字段保留供将来使用。

标签:SHA,登录,密码,用户,期限,etc,shadow,解析,salt
来源: https://www.cnblogs.com/jason-huawen/p/16300671.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有