Unix:使用chage过期密码

Unix系统管理员有时会使用该命令CHAGE -d 0立即终止用户的密码。虽然禁用帐户只有几种方法中的一种,但这是一种快速的方法(不需要在文本编辑器中打开/etc/shadow文件)

用类似的命令很容易恢复。

该CHAGE(认为“更改年龄”)命令操纵一个密码上次更改密码修改日期之间的时间。它这样做,当然,通过修改存储这些信息的/ etc / shadow文件中的字段。

命令change -d 0设置存储最后一次将密码更改为0的时间的字段。这本质上说,密码最后一次修改是在Unix时代的开始

(1970年1月1日)。

这里是如何工作的。在影子文件中的行可能是这样的:

lmoore:$ 2Y $ 10 $ Ii.zQijisFXQyjpzMQJFquYCxy6xxGTwLQq3spaFh2Q5qN9sUVUiy:16353:0:90:7 :::

算上冒号,你可以看到,这个格式允许九个单独的领域。这些最后仍然保留,所以未使用。首先是明显的用户名和第二密码哈希。其余字段显示上次更改口令的日期 - 自1970年1月1日形式的天数来表示。

OK,所以“上次更改密码”字段设置到16353可能不会加纳从谁不以他们的头解二次方程了“是的,当然”反应,但它真的不是那么难弄清楚这是什么手段。下面给出的命令,我们可以看到,16353天是至少44个年,并补充说,到1970年,我们得到... 2014!而且,如果我们采取这个远一点,我们可以看到,日期可能非常近(293为约10个月)。另外还有无疑是一个转换在线的地方,会变成这个回一个确切的日期。

$ EXPR三百六十五分之一万六千三百五十三44 $ expr的1970年44 + $ 2014 EXPR 44 \ * 365 16060 $ expr的16353  -  16060 293

这表明密码是最近修改的——293号大约是10个月——也就是2014年10月。

另一种方式来看看这个数目是为了显示当前的日期/时间为自1970年1月1日的秒数。

$日期+%S 1413143716

然后计算在一天的秒数。

$ EXPR 60 \ * 60 \ * 24 8640

那么今天(如上计算)在一天除以秒数,得到今天的日期天数。

$`expr的日期+%s` / 86400 16355

这告诉我们,密码只是两天前改变。

现在我们来看看其他字段的影子文件。0表示更改密码之前必须经过的天数。在本例中,它是0,因此用户可以随时修改密码。90表示密码必须更改的天数,因此他可能有近三个月的时间禁用该帐户。第6个字段(7)表示他的密码即将过期时收到警告的天数。

您还可以设置字段(第7场),指定密码到期后的天数之前的密码已经到期。第八显示,该帐户实际停用的日期 - 再次为自1月1日,1970年的天数如果没有这两种领域的使用,密码可能会过期,但该帐户不会被禁用。

现在,如果影子条目是这样的:

lmoore:$ 2Y $ 10 $ E7Dzm.bjbqNzXt5TbBFLueCUJ / IUJlLcPCNqCT.VKrRT1y / .futWq:16353:0:99999:7 :::

在本条目中,我们看到用户改变了他的密码前几天,但我们也看到,天数,将到期设置为99999前这似乎是默认的,如果只在某些Linux系统。99999天是一个很长的时间 - 超过273年。这是“从来没有”等价尽可能Unix口令过期而言。即使我们使用的CHAGE -d 0命令,指示,自1970年1月1日的用户并没有改变他的密码,他仍然将是很好的登录与他的密码到期前离开超过200年。

在这个故事的寓意是,恰克-d 0可用于即时到期密码,但只有当密码都设在一些合理区间到期。

确保密码时效总是使用的方法是设置在/etc/login.defs的文件PASS_MAX_DAYS领域。在下面的例子中,这一领域已经被设置为90 - 使用时间过长和过于频繁的用户记住更改密码之间可能是一个很好的妥协。

PASS_MAX_DAYS 90 PASS_MIN_DAYS 7 PASS_MIN_LEN 12 PASS_WARN_AGE 7

密码老化是一件好事,因为它降低了忘记的帐户易受攻击的可能性,也降低了用户在多个系统上使用相同密码的可能性。设置

加入对网络世界的社有个足球雷竞技app区Facebook的LinkedIn对最重要的话题发表评论。

版权所有©2014Raybet2

IT薪资调查:结果是