/etc/shadow影子文件详细解析
使用man 5 shadow
命令查看到的配置文件的帮助对shadow配置文件的解释是shadowed password file可以理解为影藏的密码信息文件,其中存放了经过加密之后的用户的密码
那么为什么要叫shadow影子文件呢?
我们使用 ll /etc/shadow
查看影子文件的权限:
你会发现影子文件的读写执行权限都是空,也就是说只有root超级用户才能查看修改这个文件的内容,因为读写执行权限对root用户不起作用。所以这或许就是把它称作影子文件的原因吧,因为它相对于其他用户都是无法查看的,像影子一样存在与linux系统中。
那么还是老规矩,我们先使用man 5 shadow
查看一下配置文件shadow的帮助信息
上图中列出了shadow配置文件的格式以及对每个选项的解释,那么我们再结合shadow文件内容来学习和探索以下这么选项究竟是什么意思?
字段解释:
第一字段:login name 用户名
第二字段:encrypted password 加密密码 ,密码采用SHA512散列加密算法加密之后保存在shadow文件中,如果密码是!!或者是*代表没有密码,不能登录
第三字段:date of last password change 密码最后一次修改的日期,用户最新设置密码的时间,以1970年1月1号为标准时间,以后每过一天时间加1,例如例子中的17246就代表这个用户设置密码的时间在1970年1月1号之后的17246天
第四字段:minimum password age 多久之后可以修改密码,如果是0则表示可以第一次密码改完之后,我可以再立即修改密码,如果是10则表示,第一次密码修改之后,10天之后你才能再次修改
第五字段:maximum password age 这个密码的最大有效期,如例子中的99999表示这么密码只能在99999天之内生效,99999天大概是200多年
第六字段: password warning period 在密码到期之前的前几天提醒用户修改密码
第七字段:password inactivity period 密码过期之后的宽限天数,0表示密码过期之后立即失效,-1表示永远不会失效
第八字段: account expiration date 账号失效时间,得用时间戳表示
第九字段:reserved field 系统预留字段没有实际意义
*注意:
1、虽然说shadow文件中的密码都是经过加密过后的,但是还是强烈的建议要保管好这个文件,因为还是有可能通过暴力破解的方式来获取你的密码
2、可以在某个用户的密码字段之前加上!则可以达到临时禁用某个密码或用户的效果