Linux /etc/shadow(影子文件)内容解析(超详细)
前面介绍了 /etc/passwd 文件,由于该文件允许所有用户读取,易导致用户密码泄露,因此 Linux 系统将用户的密码信息从 /etc/passwd 文件中分离出来,并单独放到了此文件中。
/etc/shadow 文件只有 root 用户拥有读权限,其他用户没有任何权限,这样就保证了用户密码的安全性。
注意,如果这个文件的权限发生了改变,则需要注意是否是恶意攻击。
介绍此文件之前,我们先打开看看,执行如下令:[root@localhost ~]#vim /etc/shadow
root: $6$9w5Td6lg
$bgpsy3olsq9WwWvS5Sst2W3ZiJpuCGDY.4w4MRk3ob/i85fl38RH15wzVoom ff9isV1 PzdcXmixzhnMVhMxbvO:15775:0:99999:7:::
bin:*:15513:0:99999:7:::
daemon:*:15513:0:99999:7:::
…省略部分输出…
同 /etc/passwd 文件一样,文件中每行代表一个用户,同样使用 ":" 作为分隔符,不同之处在于,每行用户信息被划分为 9 个字段。每个字段的含义如下:
用户名:加密密码:一次修改时间:最小修改时间间隔:密码有效期:密码需要变更前的警告天数:密码过期后的宽限时间:账号失效时间:保留字段
接下来,给大家分别介绍这 9 个字段。用户名
同 /etc/passwd 文件的用户名有相同的含义。加密密码
这里保存的是真正加密的密码。目前 Linux 的密码采用的是 SHA512 散列加密算法,原来采用的是 MD5 或 DES 加密算法。SHA512 散列加密算法的加密等级更高,也更加安全。
注意,这串密码产生的乱码不能手工修改,如果手工修改,系统将无法识别密码,导致密码失效。很多软件透过这个功能,在密码串前加上 "!"、"*" 或 "x" 使密码暂时失效。
所有伪用户的密码都是 "!!" 或 "*",代表没有密码是不能登录的。当然,新创建的用户如果不设定密码,那么它的密码项也是 "!!",代表这个用户没有密码,不能登录。一次修改时间
此字段表示一次修改密码的时间,可是,为什么 root 用户显示的是 15775 呢?这是因为,Linux 计算日期的时间是以 1970 年 1 月 1 日作为 1 不断累加得到的时间,到 1971 年 1 月 1 日,则为 366 天。这里显示 15775 天,也就是说,此 root 账号在 1970 年 1 月 1 日之后的第 15775 天修改的 root 用户密码。
那么,到底 15775 代表的是哪呢?可以使用如下令进行换算:
[root@localhost ~]# date -d "1970-01-01 15775 days"
2013年03月11日 星期一 00:00:00 CST
可以看到,通过以上令,即可将其换算为我们习惯的系统日期。最小修改时间间隔
最小修改间隔时间,也就是说,该字段规定了从第 3 字段(一次修改密码的日期)起,多长时间之内不能修改密码。如果是 0,则密码可以随时修改;如果是 10,则代表密码修改后 10 天之内不能再次修改密码。此字段是为了针对某些人频繁更改账户密码而设计的。
密码有效期
经常变更密码是个好习惯,为了强制要求用户变更密码,这个字段可以指定距离第 3 字段(一次更改密码)多长时间内需要再次变更密码,否则该账户密码进行过期阶段。该字段的默认值为 99999,也就是 273 年,可认为是生效。如果改为 90,则表示密码被修改 90 天之后必须再次修改,否则该用户即将过期。管理服务器时,通过这个字段强制用户定期修改密码。
密码需要变更前的警告天数
与第 5 字段相比较,当账户密码有效期快到时,系统会发出警告信息给此账户,提醒用户 "再过 n 天你的密码就要过期了,请尽快重新设置你的密码!"。该字段的默认值是 7,也就是说,距离密码有效期的第 7 天开始,每次登录系统都会向该账户发出 "修改密码" 的警告信息。
密码过期后的宽限天数
也称为“口令失效日”,简单理解就是,在密码过期后,用户如果还是没有修改密码,则在此字段规定的宽限天数内,用户还是可以登录系统的;如果过了宽限天数,系统将不再让此账户登陆,也不会提示账户过期,是完全禁用。比如说,此字段规定的宽限天数是 10,则代表密码过期 10 天后失效;如果是 0,则代表密码过期后立即失效;如果是 -1,则代表密码永远不会失效。
账号失效时间
同第 3 个字段一样,使用自 1970 年 1 月 1 日以来的总天数作为账户的失效时间。该字段表示,账号在此字段规定的时间之外,不论你的密码是否过期,都将无法使用!该字段通常被使用在具有收费服务的系统中。
保留
这个字段目前没有使用,等待新功能的加入。
忘记密码怎么办
经常有读者会忘记自己的账户密码,该怎么处理呢?对于普通账户的密码遗失,可以通过 root 账户解决,它会重新给你配置好指定账户的密码,而不需知道你原有的密码(利用 root 的身份使用 passwd 令即可)。
如果 root 账号的密码遗失,则需要重新启动进入单用户模式,系统会提供 root 权限的 bash 接口,此时可以用 passwd 令修改账户密码;也可以通过挂载根目录,修改 /etc/shadow,将账户的 root 密码清空的方法,此方式可使用 root 无法密码即可登陆,建议登陆后使用 passwd 令配置 root 密码。
- 随机文章
- 马尔代夫 旅游 隔离(马尔代夫旅游需隔离14天)
- 云和马尔代夫码头(云和水清纯美,马尔代夫码头精致美。)
- 中国 马尔代夫 转播(中马合拍!马尔代夫将中国足球超级联赛转播正式引进当地!)
- 穷游 马尔代夫(穷游海岛 完美马尔代夫自助攻略)
- 潭头 马尔代夫(潭头:美如画的马尔代夫 新:魅力无限:浪漫的马尔代夫)
- 天涯马尔代夫旅游(探秘马尔代夫之旅,畅游天涯蓝色海洋)
- 插画马尔代夫图片(瑰丽马尔代夫:浪漫之旅的完美目的地)
- 河南孟津马尔代夫(河南孟津打造马尔代夫式海岛度假胜地)
- 结婚周年马尔代夫(重温恋爱时光,度过幸福结婚周年之旅)
- 港警 马尔代夫(香港警方协助马尔代夫打击跨境犯罪)
- 嘉祥马尔代夫钓鱼(嘉祥中国游客在马尔代夫享受海钓乐趣)
- 琥珀冰川马尔代夫(马尔代夫的琥珀冰川:神秘的地球之窗)
- 辛集马尔代夫项目(辛集市打造梦幻马尔代夫项目落地海南)
- 马尔代夫下海了吗(马尔代夫:下潜探海底世界开始火热!)
- 马尔代夫专线物流(马尔代夫物流专线,优质服务快速到港)
- 游艇开到马尔代夫(用游艇穿越印度洋,探索马尔代夫之美)
- 明星 马尔代夫(明星享受马尔代夫度假生活,尽情纵情玩乐)
- 阿迪达斯马尔代夫(阿迪达斯首批马尔代夫专属款现已推出)
- 马尔代夫全国航拍(马尔代夫高空俯瞰:绝美风光尽收眼底)
- 马尔代夫住宅项目(后:马尔代夫开发商推出全新住宅项目)
- 荷兰马尔代夫海拔(荷兰团队在马尔代夫成功实现海拔升高)
- 烟台马尔代夫马岛(烟台直飞马尔代夫,畅享马岛海岛游!)
- 首都马尔代夫大桥(马尔代夫首都建成大桥,实现岛屿互联)
- 马尔代夫企业组团(马尔代夫企业联合出击,共享智慧资源)
- 马尔代夫厦门出发(厦门直飞马尔代夫,开启梦幻海岛之旅)
- 马尔代夫回程直播(直播带你回马尔代夫,畅游热带天堂!)
- 马尔代夫国力大学(马尔代夫开设国力大学,助力国家发展)
- 马尔代夫中国旅客(马尔代夫成为中国游客热门旅游目的地)
- 马尔代夫周边餐厅(周边饕餮盛宴,马尔代夫岛外餐厅推荐)
- 马尔代夫地皮出售(马尔代夫出售土地:投资者抓紧机会!)
