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