Linux下 /etc/shadow 以‘:’作为分隔符号,如果数一数,会发现共有九个位啊, 这九个位的用途是这样的:
  1. 帐号名称:由于密码也需要与帐号对应啊~因此, 这个档案的第一栏就是帐号,必须要与 /etc/passwd 相同才行!
  2. 密码:这个才是真正的密码,而且是 经过编码过的密码啦! 你只会看到有一些特殊符号的字母就是了!需要特别留意的是, 虽然这些加密过的密码很难被解出来,但是‘很难’不等于‘不会’,所以, 这个档案的预设属性是‘-rw-------’或者是‘-r--------’,亦即只有 root 才可以读写就是了!你得随时注意,不要不小心更动了这个档案的属性呢!另外, 如果是在密码栏的第一个字元为‘ * ’或者是‘ ! ’,表示这个帐号并不会被用来登入的意思。 所以万一哪一天你的某个使用者不乖时,可以先在这个档案中,将他的密码栏位的最前面多加一个 * !嘿嘿!他就无法使用该帐号啰!直到他变乖了,再给他启用啊!
  3. 最近更动密码的日期:这个栏位记录了‘更动密码的那一天’的日期, 不过,很奇怪呀!在我的例子中怎么会是 12959 呢?呵呵,这个是因为计算 Linux 日期的时间是以 1970 年 1 月 1 日作为 1 ,而 1971 年 1 月 1 日则为 366 啦! 所以这个日期是累加的呢!得注意一下这个资料呦!那么最近的 2005 年 1 月 1 日就是 12784 啦,瞭解了吗?
  4. 密码不可被更动的天数: 第四个栏位记录了这个帐号的密码需要经过几天才可以被变更!如果是 0 的话, 表示密码随时可以更动的意思。这的限制是为了怕密码被某些人一改再改而设计的!如果设定为 20 天的话,那么当你设定了密码之后, 20 天之内都无法改变这个密码呦!
  5. 密码需要重新变更的天数: 由于害怕密码被某些‘有心人士’窃取而危害到整个系统的安全,所以有了这个栏位的设计。 你必须要在这个时间之内重新设定你的密码,否则这个帐号将会暂时失效。 而如果像上面的 99999 的话,那就表示,呵呵,密码不需要重新输入啦! 不过,如果是为了安全性,最好可以设定一段时间之后,严格要求使用者变更密码呢!
  6. 密码需要变更期限前的警告期限:当帐号的密码失效期限快要到的时候, 就是上面那个‘必须变更密码’的那个时间时, 系统会依据这个栏位的设定,发出‘警告’言论给这个帐号,提醒他‘再过 n 天你的密码就要失效了,请尽快重新设定你的密码呦!’,如上面的例子,则是密码到期之前的 7 天之内,系统会警告该用户。
  7. 密码过期的恕限时间:如果用户过了警告期限没有重新输入密码, 使得密码失效了,也就是说,你在‘必须变更密码的期限前,并没有变更你的密码!’ 那么该组密码就称为‘失效的密码’啰~怎么办?没关系,还有这个栏位的天数设计啊~ 意思就是说,当密码失效后,你还可以用这个密码在 n 天内进行登入的意思。 而如果在这个天数后还是没有变更密码,呵呵!那么您的帐号就失效了!无法登入!
  8. 帐号失效日期:这个日期跟第三个栏位一样,都是使用 1970 年以来的总日数设定。这个栏位表示: 这个帐号在此栏位规定的日期之后,将无法再使用。 这个栏位会被使用通常应该是在‘收费服务’的系统中, 你可以规定一个日期让该帐号不能再使用啦!
  9. 保留:最后一个栏位是保留的,看以后有没有新功能加入。
  举个例子来说好了,假如我的 dmtsai 这个使用者的密码栏如下所示:
  dmtsai:$1$8zdAKdfC$XDa8eSus2I7nQL7UjRsIy/:13025:5:60:7:2:13125:
  这表示什么呢?要注意的是, 13025 是 2005/08/30 ,所以, dmtsai 这个使用者他的密码相关意义是:
  * 最近一次更动密码的日期是 2005/08/30 (13025);
  * 能够修改密码的时间是 5 天以后,也就是 2005/09/04 以前 dmtsai 不能修改自己的密码; 如果使用者还是尝试要更动自己的密码,系统就会出现这样的讯息:
  You must wait longer to change your password
  passwd: Authentication token manipulation error
  * 使用者必须要在 2005/09/04 到 2005/10/29 之间的 60 天限制内去修改自己的密码,若 2005/10/29 之后还是没有变更密码时,该帐号就会宣告失效;
  * 如果使用者一直没有更改密码,那么在 2005/10/29 之前的 7 天内,系统会警告 dmtsai 应该修改密码的相关资讯;例如当 dmtsai 登入时,系统会主动提示如下的资讯:
  Warning: your password will expire in 5 days
  * 如果该帐号一直到 2005/10/29 都没有更改密码,由于还有两天的恕限时间,因此, dmtsai 还是可以在 2005/10/31 以前继续登入;
  * 如果使用者在 2005/10/29 以前变更过密码,那么那个 13025 的日期就会跟著改变,因此, 所有的限制日期也会跟著相对变动喔!^_^
  * 无论使用者如何动作,到了 13125 ,大约是 2005/12/8 左右,该帐号就失效了~
  透过这样的说明,您应该会比较容易理解了吧?! ^_^
  Tips:
  常常听到:我的密码忘记或者被更动了?怎么办?
  有的时候会发生这样的情况,就是说,你的 root 密码忘记了!要怎么办?重新安装吗?另外, 有的时候是被入侵了, root 的密码被更动过,该如何是好?
  这个时候就必须要使用到 /etc/shadow 这个资料了!我们刚刚知道密码是存在这个档案中的, 所以只要你能够以各种可行的方法开机进入 Linux ,例如单人维护模式,或者是以 live CD (KNOPPIX) 来进入 Linux 系统。之后,将硬碟顺利挂载,然后进入 /etc/shadow 这个档案中,将 root 的密码这一栏全部清空!然后再登入 Linux 一次,这个时候 root 将不需要密码 (有的时候需要输入空白字元) 就可以登入了!这个时候请赶快以 passwd 设定 root 密码即可。 

关于/etc/shadow 文件的九段内容的详细解释相关推荐

  1. Linux /etc/shadow文件内容详解

    /etc/shadow文件主要用来保存用户名密码及密码相关的信息(具体如下)! 1 环境 OS:Server 8.3 (衍生自CentOS 8.3) 2 /etc/shadow 内容详解 内容样例 r ...

  2. linux 系统中 /etc/passwd 和 /etc/shadow文件详解

    在linux操作系统中, /etc/passwd文件中的每个用户都有一个对应的记录行,记录着这个用户的一下基本属性.该文件对所有用户可读.   而/etc/shadow文件正如他的名字一样,他是pas ...

  3. linux中/etc/passwd文件与/etc/shadow文件解析

    1. /etc/passwd文件 1.1 /etc/passwd文件内容格式 用户名: 密码 : uid  : gid :用户描述:主目录:登陆shell 举个例子: #cat /etc/passwd ...

  4. 手动生成/etc/shadow文件中的密码

    shadow文件的格式就不说了.就说说它的第二列--密码列. 通常,passwd直接为用户指定密码就ok了.但在某些情况下,要为待创建的用户事先指定密码,还要求是加密后的密码,例如kickstart文 ...

  5. linux当中shadow文件的作用,解释Linux中passwd与shadow文件

    passwd文件: 文件所在路径:vi /etc/passwd 打开文件出现一梭子这个,现在来解释一下这些每部分代表的意思 文件中内容每行都是一样的,以'' : ''进行分隔,以下为对应关系: =&g ...

  6. redis的redis.config文件配置与内容+10.30日之前的总结

    参考博客:redis.conf的一些配置+密码的设置(mac)+个人总结_雾喔的博客-CSDN博客_redis密码配置文件 这个是初始的redis.config的内容 # Redis configur ...

  7. 误删除Linux下/etc/shadow文件,linux修改密码出现Authentication token manipulation error的解决办法

    linux卸载ss的时候误把/etc/shadow删除掉了,导致ssh root登录不了.修改密码出现Authentication token manipulation error的解决办法. 解决办 ...

  8. 【Ubuntu】dpkg-deb -c :查看deb文件中的内容

    1.dpkg-deb -c :查看deb文件中的内容 $ dpkg-deb -c package eg: $ dpkg-deb -c sogoupinyin_2.2.0.0108_amd64.deb ...

  9. python读出文件中的内容_Python读取文本内容

    综述 在Python中,读文件主要分为三个步骤: 打开文件 . 读取内容 . 关闭文件 .一般形式如下: try: file = open('/path/to/file', 'r') # 打开文件 d ...

最新文章

  1. 从头编写 asp.net core 2.0 web api 基础框架 (5) EF CRUD
  2. 转: 如何从keystore file中查看数字证书信息
  3. Linux环境进程间通信 信号量
  4. robocopy帮助
  5. 7-10 逆波兰表达式求值 (20 分)(c语言)(数据结构)
  6. mysql if语句后面执行两个语句_MySQL的if,case语句使用总结
  7. 转转集团二手双11大促:长沙用户“秒杀”99新iPhone12成首单
  8. LightOj 1088 - Points in Segments (二分枚举)
  9. maven依赖的版本管理
  10. ThinkPad T470P拆机加固态硬盘 建兴 T11 plus
  11. StringBuilder
  12. 阿里巴巴食堂:看菜名我跪了~程序员:给我来个“油炸产品经理”
  13. C#之CAD二次开发(8) 图形阵列
  14. win10 卸载cuda
  15. 通过Swap函数交换两个变量的值
  16. win7无法连接打印机拒绝访问_windows 7无法连接到打印机,拒绝访问 / 键入的打印机名不正确的解决办法?...
  17. 对立统一(哲学与分析学)
  18. oracle里的tns是什么意思
  19. 不同程序用不同网络_Python3.9版本发布,不同领域程序员应该怎样学Python?
  20. 中文之星掌上狂拼手机输入法 网页制作软件

热门文章

  1. 一段超级好的..漂浮广告代码..精一下..
  2. 理想汽车2021年Q4盈利2.955亿元 CTO王凯离职
  3. 腾讯Q3财报看点:净利近10年来首次下滑 为硬科技持续“烧钱”
  4. 被“薅羊毛”损失200多万!元气森林:系运营事故
  5. 母亲节:微信喊你给母亲充钱 华为帮你教爸妈用手机
  6. Lyft出售自动驾驶部门给丰田子公司:作价5.5亿美元
  7. 苹果正为iPhone 12开发磁性电池组 可为手机无线充电
  8. iPhone 12的4G/5G信号又翻车了:不少用户吐槽无网络服务
  9. iPhone 12系列屏幕细节曝光:三星OLED屏独霸大半
  10. 4月15日见?疑似一加8 Pro真机谍照曝光:开孔双曲面屏加持