你知道Linux中用户们的密码藏在哪儿吗?

linux中/etc/shadow文件详解
/etc/shadow文件 , 用于存储Linux系统中用户的密码信息 。
/etc/shadow文件只有root用户拥有读权限 , 其他用户没有任何权限 。
注意:
如果此文件权限发生改变 , 注意是否遭到恶意攻击 。
cat /etc/shadow

你知道Linux中用户们的密码藏在哪儿吗?

文章插图
 
文件中每行代表一个用户 , 使用":"作为分隔符 , 每行用户信息被划分为9个字段 。
以odysee用户为例:
你知道Linux中用户们的密码藏在哪儿吗?

文章插图
 
下面详细介绍一下:
1、用户名
用户名仅是为了方便用户记忆一串符合 。
2、加密密码
这里保存的是真正加密的密码 。
注意!!!
这串密码不能手工修改 , 如果手工修改 , 系统将无法识别密码 , 导致密码失效 。
所有系统用户密码都是 "!!" 或 "*" , 代表没有密码是不能登录的 。
当然 , 新创建的用户如果不设定密码 , 那么它的密码项也是 "!!" , 代表这个用户没有密码 , 不能登录 。
3、最后一次修改时间
此字段表示最后一次修改密码的时间 。
Linux计算日期的时间是以1970年1月1日作为1不断累加得到的时间 。
例如:1971年1月1日 , 则为365天 。
4、最小修改时间间隔
该字段规定了从第3字段起 , 多长时间之内不能修改密码 。
如果是0 , 则密码可以随时修改 。
如果是10 , 则代表密码修改后10天之内不能再次修改密码 。
补充:
此字段是为了针对某些人频繁更改账户密码而设计的 。
5、密码有效期
经常变更密码是个好习惯 , 为了强制要求用户变更密码 , 这个字段可以指定距离第3字段多长时间内需要再次变更密码 , 否则该账户密码进行过期阶段 。
该字段的默认值为99999 , 也就是273年 , 可认为是永久生效 。
如果改为90 , 则表示密码被修改90天之后必须再次修改 , 否则该用户即将过期 。
管理服务器时 , 通过这个字段强制用户定期修改密码 。
【你知道Linux中用户们的密码藏在哪儿吗?】6、密码需要变更前的警告天数
与第5字段相比较 , 当账户密码有效期快到时 , 系统会发出警告信息给此账户 。
提醒用户"再过n天你的密码就要过期了 , 请尽快重新设置你的密码!" 。
补充:
该字段的默认值是 7 , 也就是说 , 距离密码有效期的第 7 天开始 , 每次登录系统都会向该账户发出 "修改密码" 的警告信息 。
7、密码过期后的宽限天数
在密码过期后 , 用户如果还是没有修改密码 , 则在此字段规定的宽限天数内 , 用户还是可以登录系统的;如果过了宽限天数 , 系统将不再让此账户登陆 , 也不会提示账户过期 , 是完全禁用 。
8、账号失效时间
同第3个字段一样 , 使用自1970年1月1日以来的总天数作为账户的失效时间 。
该字段表示 , 账号在此字段规定的时间之外 , 不论你的密码是否过期 , 都将无法使用!
补充:
该字段通常被使用在具有收费服务的系统中 。
9、保留字段
这个字段目前没有使用 , 等待新功能的加入 。
简单的为大家整理一下这些字段的含义 。
现在对于/etc/shadow文件大家应该get it了 。
感谢支持 。




    推荐阅读