zoukankan      html  css  js  c++  java
  • /etc/shadow文件介绍

          linux的root密码存在于“/etc/shadow”这个文件中,不过要有root权限才能在linux下看到“/etc/shadow”这个文件。我用自己的虚拟机做一个演示,如下图所示:

    014

          上面这个图中,我没有设置root的密码,可以看到root那一行最开始有个“!”。接着看下面的图,已经设置了root密码:

    015

          在这里,主要是对shadow密码存储结构做一些介绍,参考了一下网络上的相关内容,自己总结一下。

          密文字符串格式为:$id$salt$encrypted,通过$来分割,其中$id用来指定使用的算法,如下表格所示:

    ID Method
    1 MD5
    2a

    Blowfish(not in mainline glibc;added in some Linux distribution)

    5

    SHA-256(since glibc 2.7)

    6

    SHA-512(since glibc 2.7)

          从我上面的截图可以看到,密文采用的是SHA-512算法。$salt是一个最多16个字符的随机生成的字符串,用来增加破解难度。$encrypted就是通过加密算法和salt算出来的密文。

          接下来,描述一下这个密码存储的结构。

    1. 账户名:账户名与/etc/passwd里面的账户名是一一对应的关系。
    2. 密码:这里可以看到3类,分别是奇奇怪怪的字符串、*!!其中,奇奇怪怪的字符串就是加密过的密码文件。星号代表帐号被锁定,双叹号表示这个密码已经过期了。奇奇怪怪的字符串是以$6$开头的,表明是用SHA-512加密的,$1$ 表明是用MD5加密的、$2$ 是用Blowfish加密的、$5$是用 SHA-256加密的。
    3. 修改日期:这个是表明上一次修改密码的日期与1970-1-1相距的天数密码不可改的天数:假如这个数字是8,则8天内不可改密码,如果是0,则随时可以改。
    4. 密码需要修改的期限:如果是99999则永远不用改。如果是其其他数字比如12345,那么必须在距离1970-1-1的12345天内修改密码,否则密码失效。
    5. 修改期限前N天发出警告:比如你在第五条规定今年6月20号规定密码必须被修改,系统会从距离6-20号的N天前向对应的用户发出警告。
    6. 密码过期的宽限:假设这个数字被设定为M,那么帐号过期的M天内修改密码是可以修改的,改了之后账户可以继续使用。
    7. 帐号失效日期:假设这个日期为X,与第三条一样,X表示的日期依然是1970-1-1相距的天数,过了X之后,帐号失效。
    8. 保留:被保留项,暂时还没有被用上。

          参考文章:http://www.yucoat.com/linux_opensource/linux_etc_shadow.html

  • 相关阅读:
    How to function call using 'this' inside forEach loop
    jquery.validate.unobtrusive not working with dynamic injected elements
    Difference between jQuery.extend and jQuery.fn.extend?
    Methods, Computed, and Watchers in Vue.js
    Caution using watchers for objects in Vue
    How to Watch Deep Data Structures in Vue (Arrays and Objects)
    Page: DOMContentLoaded, load, beforeunload, unload
    linux bridge
    linux bridge
    EVE-NG网卡桥接
  • 原文地址:https://www.cnblogs.com/hiccup/p/4300963.html
Copyright © 2011-2022 走看看