usermod关于选项e的问题

usermod关于选项e的问题

阅读手册页后,我无法找到其作用的解释(tack e选项)

usermod -L -e 1 用户名

-e 1

这是否意味着 linux 纪元 1970 年 1 月 1 日之后的某一天?既然没有任何地方记录,怎么会有人知道这一点?

答案1

你是对的。它的价值以天为单位。

来自usermod(8)手册页:

-e, --expiredate EXPIRE_DATE

用户帐户将被禁用的日期。日期以格式指定年-月-日

但还有更多信息shadow(5)手册页:

帐户到期日期

帐户的到期日期,以帐户数量表示自 1970 年 1 月 1 日起的天数

请注意,帐户过期与密码过期不同。如果帐户过期,则不允许用户登录。如果密码过期,用户将无法使用其密码登录。

空字段意味着该帐户永远不会过期。

不应使用值 0,因为它会被解释为没有到期日的帐户或在 1970 年 1 月 1 日到期。

您可以确认此读数usermod.c代码:

        case 'e':
            if ('\0' != *optarg) {
                user_newexpire = strtoday (optarg);

答案2

看来你的猜测是正确的。

要验证它,您必须阅读源代码:

    /* 如果提供了一个数值,则这已经是一个数字了
     * 自 EPOCH 以来的天数。
     */

相关内容