Linux中etc下shadow文件详解

  • Post author:
  • Post category:linux




Linux中/etc/shadow文件详解

[root@gaki0 ~]# tail -1 /etc/shadow
gaki:$6$boB/e/30SJD5GcLh$RR9IlXwNkvUBiRYWuc3ejsMemPRFKnDrh67VqrikKikYaZBlUHucah8wHpdTgqAsThHi5YpZN5ukPvoYSajYk/:17900:0:99999:7:::

在Linux中我们创建一个用户后,会出现一个专门记录该用户密码相关信息的文件/etc/shadow,如上图所示,以“:”分割为9段,每一段的大概含义为(以上图为例):

​ 1)gaki:用户名,密码需要与用户相对应,所以第一列就是用户名,与/etc/passwd相对应

​ 2)$6$boB/e/30SJD5GcLh$RR9IlXwNkvUBiRYWuc3ejsMemPRFKnDrh67VqrikKikYaZBlUHucah8wHpdTgqAsThHi5YpZN5ukPvoYSajYk/:加密密码,我创建的gaki用户的密码,这个是经过编码的密码,很难被破解出来,值得注意的是,当你要限制某个用户登录时,只需要在这个密码前加上“*”或者“!”,就表示这个账号不会被用来登入

​ 3)17900:最近改动密码的日期,但为什么是一整个数字呢?其实这是把Linux元年1970年1月1日作为1,然后依次类推到你最近一次修改该用户密码的日期

​ 4)0:密码不可被更改的天数,这里记录的是该gaki用户的密码需要经过几天才可以被更改;如果这里为0,表示密码可以随时被改动。这个设置是为了防止密码被人随意随时更改的,例如你设定为20的话,就是说在你设定了密码之后,20天之内是无法更改该用户密码的

​ 5)99999:密码需要重新设定的天数(我理解为密码的保质期,就是你需要在这段时间内修改密码,保证密码的定期更新),如果超出这个时间段没有修改密码,那么该帐号会暂时失效。这里显示99999的意思是,密码不需要被修改,但是为了安全,建议你设定一个时间,强制要求自己定期修改自己的密码。

​ 6)7:这一条是根据上一条来界定的,是密码需要重新设定的期限之前的警告期限,设想一下,如果在你设定了要修改密码的事件后不设定一个提醒自己去修改密码的期限,那过了时间后,你的账号不就暂时失效了吗,所以这一条我们来规定一个提醒日期,来提醒我们”密码还有n天就过期啦!快修改密码啊!!“

​ 7)(默认是空白),密码过期后的宽限时间,意思就是在第五列规定的时间内你如果没有修改自己的密码,系统并不会立即使你的旧密码失效,而是会有个宽限日期,这一条,就是这个日期的具体值,在你定义的期限里,你依然可以使用你的旧密码登录

​ 8)(默认是空白),帐号失效日期,这一条跟第三条的定义方法是一样的,从1970年1月1日开始算起,直到你定义的失效日期为止,这个账号就不能再使用啦!

​ 9)(默认是空白),这一条是保留的,为以后新的功能的加入留了位置



版权声明:本文为weixin_43897044原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。