私はSolarisでLinuxのlastlogに対応するコマンドを必要とし、ユーザーがSolarisサーバーに最後にログインした日時を見つけるためのスクリプトを書く必要があります。 Linuxはlastlogコマンドを使用して簡単に取得できます。
最後の-1 USERIDを試しましたが、ユーザーがサーバーにログインしていない場合、出力はありません。これは、90日以上サーバーにログインしていないユーザーを見つけることです。スクリプトは次のように出力する必要があります。
ServerName USERID 10-Jun-2018 3Days
答え1
lastlog
オペレーティングシステムが提供するLinuxコマンドと直接同等のものはありません。
Linux ログイン・ビリングシステムには、各ユーザー・アカウントの最後のログイン時間を記録し、そのアカウントのユーザー ID で索引付けされる表があります。 NetBSD、FreeBSD、およびOpenBSDログインアカウントシステムには、同等のテーブル(構造と名前は異なります)と(NetBSDおよびFreeBSDシステムの場合)、lastlogin
1990年代半ばにさかのぼるコマンドがあります。 LinuxおよびBSDの世界では、このテーブルはログインログテーブルと現在アクティブなログインテーブル(ログインデータベースの他の2つのテーブル)に書き込む同じプログラムによって更新されます。
Solarisには2つのテーブルがあります。 1つは同じテーブルで、もう1つはまったく同じではないテーブルです。
last
他の人が指摘したコマンドは、両方のコマンドで機能しないため、特に便利ではありません。操作が中断されましたその他ログインアカウントデータベースのテーブル、つまりログインイベントログテーブルに示すように、アカウントがログインしていない場合は、このテーブルに処理する内容はありません。代わりに、各ユーザーアカウントの最後のログインスケジュールの履歴があります(BSDでは空の暗黙的なレコード、Linuxでは明示的に空のレコード)。
それほど同等ではないSolarisテーブルは/var/adm/acct/sum/loginlog
。プログラムは、ログインが発生したときにこのデータを直接入力せず、報告するlogin
直接的に同等のプログラムもありません。
これはlastlogin
コマンドに関連付けられていますが、前述の同じ名前のコマンドとはかなり異なります。 Solaris では、内容を報告するツールではなく、このテーブルに書き込むツールです。 (これはlastlogin
AIXでも使用されます。)runacct
ツールは毎日実行され、lastlogin
この表を満たすコマンドを呼び出します。報告はprtacct
コマンドによって行われます。
直接同等のSolarisテーブルは、/var/adm/lastlog
Oracle docoに記載されていません。それを読むことができるプログラムは提供されていません。しかし、Richard Hamiltonによって書かれたサードパーティのlastlog
プログラム(Oracleからそのソフトウェアが消えるまで)がありました。 OpenIndiana/Illumos 人々がそのようなコマンドをマージするよう説得したいと思うかもしれません。 OmniOS エンジニア Dan McDonald は、2016 年 1 月からこの作業を開始しました。
追加読書
- ジョナサンデボインポラード(2018)。Unixログインデータベース。よく与えられる答えです。
- 」システムアカウントファイル」。 システム管理ガイド:高度な管理。 Oracle Solaris 10 8/11 情報ライブラリ。信託。 2011年。
- 最新のログ。 Oracle Solarisのブログ。 2010年7月15日。
lastlogin
。FreeBSD システム管理者マニュアル。 2011年6月6日。last
。 ユーザーコマンドマニュアル。イルモス。 2017年4月12日。acctsh
。システム管理コマンド。 Sun OS 5.11。 2002年3月15日。
答え2
Solarisのコマンドはですlast
。
ユーザーが最後にtim
ログインした時間が表示されます。
bash-[510]$ last -1 tim
tim pts/1 192.168.0.106 Wed Jun 13 18:16 still logged in
データベースの交換後にユーザーがログインしていない場合、出力は提供されません。
bash-[511]$ last -1 tom
wtmp begins Fri Mar 27 19:57
答え3
Oracle Solarisは、次の優れたツールも提供しています。
アカウント
次のリンクで指示を見つけることができます。システム会計。
ディレクトリに/var/adm/acct/sumというファイルが見つかります。ログインログ。このファイルは、各ユーザーの最後のログイン日を記録します。最後のログインスクリプト。
このファイルに基づいてawkなどを使用すると、あなたの要件を簡単に満たすことができます。