最後のコマンドを使用せずにユーザーが最後にログインした時間をどのように知ることができますか?

最後のコマンドを使用せずにユーザーが最後にログインした時間をどのように知ることができますか?

「最後」を使用せずにユーザーが最後にログインした時間を見つけようとします。最後にリサイクルされたログファイルを使用すると、数週間後にユーザーの以前のエントリが削除されます。

私はまだ情報を保持しているどこかに各ユーザーのエントリがあると確信しています。メンテナンスのために一部のコンピュータにログインすると、1年を超えても常に最後にログインした時間が表示されます。

ログインルーチンはこの情報をどこで見つけますか?

ちなみに、私の基本的なLinuxオペレーティングシステムはUbuntu 16.04 LTSです。私が知っているのは、Ubuntuは18.04から大きな変化を経験することです。

私は尋ねた。https://unix.stackexchange.com変えるhttp://askubuntu.comなぜなら、次のバージョンでこの機能が変更されても動作するソリューションがあるかどうかを確認したいからです。そして最近はラズベリーパイについて勉強しています。

問題はLinuxベースのシステムに関するものです。

例:

今日(2018年3月8日)私のサーバーの1つにログインしました。ログインルーチンが表示する内容は次のとおりです。

Welcome to Ubuntu 16.04.3 LTS (GNU/Linux 4.4.0-1037-aws x86_64)

78 packages can be updated.
0 updates are security updates.


*** System restart required ***
Last login: Fri Nov  3 02:46:58 2017 from 72.43.238.238

ログlastファイルは2月にのみ記録されます。

$ ls -l /var/log/wtmp*
-rw-rw-r-- 1 root utmp 384 Mar  8 04:36 /var/log/wtmp
-rw-rw-r-- 1 root utmp   0 Feb  1 06:25 /var/log/wtmp.1

いくつかの期待されるタスクには、一部のサーバーから非アクティブなアクティブユーザーを削除するタスクが含まれます。

ベストアンサー1

この情報にアクセスするコマンドは次のとおりです。lastlog

lastlog - reports the most recent login of all users or of a given user

これは以前のユーザーログイン時間のデータベースを使用します。データベースはに保存されます/var/log/lastlog

例:

$ lastlog -u apollo
Username         Port     From             Latest
apollo           pts/43   127.0.0.1        Sun Feb 25 04:00:47 -0500 2018

メモ:

コマンド出力listlogとマニュアルページをテストした結果、/var/log/laslog database永続的なようです(常にエントリがあります)。ファイル内の誰でもアイテムlastlogにアクセスできます。/etc/passwdアプリケーションは、アカウントがlastlog最後にログインした時間を報告する**Never logged in**か、アカウントが一度もログインしたことがないかを報告します。

この例の項目は6年前にさかのぼります。

lorenzo          pts/6    ubunzeus         Fri Apr 20 21:23:18 -0400 2012

おすすめ記事