次のコマンドを実行した後:
$ usermod -e <yesterday> -f <tomorrow> bea
Beaのアカウントは期限切れですが、まだ有効です(明日まで)。
違いは何ですか?今日は起こらないことが昨日起こったかもしれませんか?明日起こらないかもしれないことが今日起こりますか?
答え1
usermod -e
通常、日付をパラメータとして使用します。日付を指定すると、usermod -e 2019-12-31 joeuser
Joe ユーザーのアカウントは年末までのみ有効になり、管理者が新しいアカウントの有効期限を設定してアカウントを再度有効にしない限り、無効になります。usermod -e "" joeuser
スケジュールされた有効期限なしで無期限に有効になっているアカウントの許可を有効にします。
usermod -e 1 joeuser
すぐにアカウントを無効にすることもできます。これにより、アカウントは1970年1月2日に有効期限が切れるように効果的に設定されます。
このようなアカウントの無効化は、すべての認証メカニズムに適用されます。ユーザーがSSHキー、スマートカード、RSA SecurID、またはその他の認証メカニズムを使用しても、アカウントはログインを許可しません。このようにアカウントが無効になっていると、ユーザーが再度有効にするために個別に実行できる操作はありません。唯一の方法は、システム管理者に連絡することです。
この点に注意してくださいアカウントの有効期限完全に独立したパスワードが期限切れです。
usermod -f
一方、パラメータとして日数を期待します。これは、ユーザーのパスワードが期限切れになるとカチカチとなり始める時計です。たとえば、ユーザーJoeのパスワードが90日後に期限切れになるように設定した場合(passwd -x 90 joeuser
)usermod -f 14 joeuser
、およびユーザーJoeがパスワードを最後に変更してから90日が経過すると、Joeは正確に14日間ログインしようとしたときにパスワードを強制的に変更する必要があります。します。これにより、新しいパスワードは再び90日間有効になります。
Joeが14日以内にログインしていない場合は、アカウントがロックされ、Joeがまだシステムにアクセスする必要がある場合は、管理者に連絡してアカウントのロックを解除する必要があります。
歴史的にロックpasswd -l
されたアカウントを意味するために使用されていましたが、最新のLinux PAM実装では実際にロックされたアカウントを意味します。パスワードのみ。アカウントがSSHキーまたは他の認証方法で設定されている場合passwd -l
。
アカウントを削除したり、設定を変更せずにアカウントを完全に無効にするための現在推奨されている方法です(必要に応じてアカウントを以前と同じように再度有効にすることができます)usermod -e 1 <username>
。これは、既存のPAM実装と新しいPAM実装の両方で同じように機能することが保証されます。
ユーザーのシェルを/bin/false
メッセージを表示して終了するコマンドに変更すると、すべての認証方法に対するコマンドラインログインが無効になる可能性がありますが、副作用は、ユーザーの現在のシェルに関する情報が失われることです。さらに、システムに認証にシステムパスワードを使用する他のサービス(電子メールやFTPなど)がある場合、シェルを変更してもそのサービスへのアクセスが無効になることはありません。
答え2
今はテストできないため、100%確信できませんが、正しく覚えている場合、この-f
フィールド/etc/shadow
は、システムが無効になる前にアカウントが「非アクティブ」(ログインしていない人)になっている時間です。それ。コンバージョンは-e
アカウントの有効期限です。これら2つのフィールドは関係ありません。