root@ubuntu:~# chage -l babydog2

root@ubuntu:~# tail -2 /etc/shadow
babydog2:$6$DB8Q7an8$LGTZx9g/122XFE/iXXXZjPuO88.:17416:3:30:5:::
从上图可以看到 Account Expires 为Never ,而上述命令的显示结果的第8个字段的值为空,这表示 babydog2 这个用户没有设置密码期限的到期日,如果想设置这个账号在2017年12月12日过期,可以使用带有 -E 选项的 chage 命令设定 babydog2 用户的账户在指定的日期过期,这里 -E 中的E是指 expiredate 。
root@ubuntu:~# chage -E 2010-12-12 babydog2
系统执行完以上命令之后不会有任何显示信息,因此应该使用带有 -l 选项的 chage 命令再次列出 babydog2 用户密码的全部信息:

结果表明:babydog2 用户的账户将在 2017年12月12日过期,随后,可以列出 /etc/shadow 文件中第8个字段的变化:
root@ubuntu:~# tail -2 /etc/shadow
babydog2:$6$DB8Q7an8$LGTZx9g/122XFE/iXXXZjPuO88.:17416:3:30:5::14955:
从显示结果中可以发现第7个字段的值为空,这表示 babydog2 用户没有启用账号过期这一特性,即即使 babydog2 用户的账户早就过期了,依旧可以使用 babydog2 这个用户登录Linux系统。所以要使用带有 -I 选项的 chage 命令设定 babydog2 用户的账户在指定日期过期,这里 I 是指 inactive 。

root@ubuntu:~# tail -2 /etc/shadow
babydog2:$6$DB8Q7an8$LGTZx9g/122XFE/122XFE/iXXXZjPuO88.:17416:3:30:5:66:14955:
第7个字段的值已经由空变为了66,这样,即使过期后再将66改为0,babydog2 用户也无法登录Linux系统。