Chinaunix首页 | 论坛 | 博客
  • 博客访问: 301805
  • 博文数量: 84
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 890
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-13 16:46
文章分类

全部博文(84)

文章存档

2017年(2)

2016年(4)

2015年(78)

我的朋友

分类: LINUX

2015-06-24 09:04:54

由于/etc/shadow文件是存放用户密码的地方,因此系统对已这个文件权限进行了特殊处理,如下所示,我的实验环境是RHEL6.4
  1. [root@RHEL6 ~]# ll /etc/shadow
  2. ----------. 1 root root 754 Jun 12 10:29 /etc/shadow
  3. [root@RHEL6 ~]#
/etc/shadow文件结构
  1. [root@RHEL6 ~]# head -n 4 /etc/shadow        
  2. root:$6$HJLPOCLFsBC2j6FU$d/3E//VUKOXEahhA3FJgObZzl5wED4J3Felq0unMVZFXX9Lkn/sULEEsXD9.kfo./Wfjw.A2wWHP0poYv/7eE.:16516:0:99999:7:::
  3. bin:*:15615:0:99999:7:::
  4. daemon:*:15615:0:99999:7:::
  5. adm:*:15615:0:99999:7:::
  6. [root@RHEL6 ~]#
shadow文件同样以":"作为分隔符,一共有9个字段,这9个字段的用途是这样的
1、账号名称
2、密码,此密码是使用MD5方式加密的密码,由于固定的加密系统产生的密码长度必须一致,因此当你改变这个字段的长度,改密码就会失效,如多加一个!或者*号等。
3、最近改动密码的日期,这个值现在是16516(也就是2015年3月22日),是因为计算linux日期的时间是以1970年1月1日作为1而累加的日期。
4、密码不可被改动的天数(与第3个字段相比),如果是0的话,表示密码随时可以改动的意思,这的限制是为了怕密码被某些人一改再改而设计的,如果设置为20天,那么当你设置了密码之后,20天以内都无法改变这个密码。
5、密码需要重新更改的天数(与第3个字段相比),为了强制用户更改密码,这个字段可以指定在最近一次更改密码后在多少天数内需要再次更改密码才行。你必须要在这个天数内重新设置你的密码,否则这个账号的密码将会变为过期特性。而如果像上面的99999(计算为273年)的话,那就表示密码的更改没有强制性之意。
6、密码需要更改期限前的警告天数(与第5个字段相比)
7、密码过期后的账号宽限时间(密码失效日)(与第5个字段相比):密码有效日期为“更新日期(第3个字段)+重新更改日期(第5个字段)”,过了该期限后用户依旧没有更新密码,那该密码就算过期了。虽然密码过期但是该账号还是可以用来进行其他工作的,包括登陆系统取得bash,不过如果密码过期了,当你登陆系统是,系统会强制要求你必须要重新设置密码才能登陆继续使用,这就是密码过期特性。
     在密码过期几天后,如果用户还是没有登录更改密码,那么这个账号的密码将会“失效”,该账号再也无法使用该密码登录了,要注意密码过期与密码失效并不相同。
8、账号失效日期:这个账号在此字段规定的日期之后,将无法再使用。这个字段通常应该是在“收费服务”的系统中
9、保留
man 5 shadow的文件说明
  1. man shadow的说明
  2. The meanings of each field are:
  3. 1、sp_namp - pointer to null-terminated user name用户名
  4. 2、sp_pwdp - pointer to null-terminated password密码
  5. 3、sp_lstchg - days since Jan 1, 1970 password was last changed最近变更密码的日期
  6. 4、sp_min - days before which password may not be changed密码不可被更动的天数(与第3字段相比)
  7. 5、sp_max - days after which password must be changed密码需要重新变更的天数(与第3字段相比)
  8. 6、sp_warn - days before password is to expire that user is warned of pending password expiration密码需要变更期限前的警告天数:(与第 5 字段相比)
  9. 7、sp_inact - days after password expires that account is considered inactive and disabled密码过期后的账号宽限时间(密码失效日 )(与第 5 字段相比)
  10. 8、sp_expire - days since Jan 1, 1970 when account will be disabled账号失效日期
  11. 9、 sp_flag - reserved for future use(保留)

一般用户的密码忘记了:这个最容易解决,利用root的身份使用passwd命令处理即可。
root密码忘记了:这就麻烦了,因为你无法使用root的身份登录了,但我们知道root的密码在/etc/shadow当中,因此你可以使用各种可行的方法开机进入linux再去修改。例如重新启动进入用户维护模式后,系统会主动给予root权限的bash接口,此时再以passwd修改密码即可;获益Live CD开机后挂载根目录区修改/etc/shadow,将李某的root的面膜字段清空,在重新启动后root将不用密码即可登录!登录后在以passwd命令去设置root密码即可。

阅读(2202) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~