マニュアルページを読んだ後、それが何をしているのか説明が見つかりません(追加オプション)。
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
あなたの推測が正しいようです。
これを確認するには、ソースコードを読む必要があります。
- 私のDebianコンピュータでは、これはパッケージの一部であると
dlocate
言います。usermod
passwd
- このパッケージのファイルは、
README
以下で参照できるSVNリポジトリを表します。http://svn.debian.org/wsvn/pkg-shadow/upstream - このリポジトリではsrc/usermod.cとの
strtoday
オプション値を処理するために呼び出されます。-e
strtoday
にありますlibmisc/strtoday.c、次のコメントがあります。
/ *値が指定されている場合、これはすでに数値です。 *EPOCH以降の日数です。 */