banner

linux下精确指定账号和密码过期时间

在以前的一篇文章"linux下忘记用户密码并已过期,且又不能改变密码该怎么办?"中最后,留下过一个彩蛋。如何精确简单的指定账号密码的过期时间?这里其实本意是指定密码过期时间。自己当时问的都不严谨。


分析问题


我们开始分析chage命令,是否存在指定过期时间的命令。chage参数意思:-m 密码可更改的最小天数。为零时代表任何时候都可以更改密码。-M 密码保持有效的最大天数。-W 用户密码到期前,提前收到警告信息的天数。-E 帐号到期的日期。过了这天,此帐号将不可用。-d 上一次更改的日期-i 停滞时期。如果一个密码已过期这些天,那么此帐号将不可用。-l 例出当前的设置。由非特权用户来确定他们的密码或帐号何时过期。首先,我们来看账号信息

yunwei账号有效期为永久。我们来使用-E参数指定过期时间。Chage -E 2017-08-28 yunwei

从上图 可以看到生效的选项为:accunt expires(账号过期日)。不是我们需要的准确的密码过期选项。那如何精确的控制密码过期时间呢?

如上图,我们首先使用chage -M 1 yunwei,密码有效期延后1天。如何精确的控制密码过期时间,只有这个笨办法。接着我们再来仔细的思考下,如果你有效期设置的时间比较久,是不是要算很大的数字来得出准确的时间呢? 突发奇想,将最后密码修改时间改为今天,是不是更方便呢? chage -d 2017-08-27 yunwei 然后,想让他月底过期就很方便了 chage -M 4 yunwei

补充


回想了下,chage -d 指定最后密码修改时间。如果将有效期设定为今天,密码有效期会不会自动改变呢?经过测试,密码有效期如果指定为180天的话。如果,chage -d 设置为今天后,密码有效期自动从当前日期开始计算180天。

结论分析


很多知识在学习的时候不仔细,以前一直觉得-M 选项的计数是1970-01-01开始的,后来查看了-E参数,才恍然大悟,这是账号过期时间。不是密码过期时间。密码过期时间=最后修改时间+天数

推荐阅读:

小时候的回忆

关于我个人博客的思考

个人博客注意事项

阅读: 1563
在同意共创许可协议(CC BY-NC-SA-4.0)的前提下,您可以转载本文。
付生保个人博客
https://shengbao.org/289.html

相关阅读

留言评论

暂无留言