追加読書

追加読書

私は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システムの場合)、lastlogin1990年代半ばにさかのぼるコマンドがあります。 LinuxおよびBSDの世界では、このテーブルはログインログテーブルと現在アクティブなログインテーブル(ログインデータベースの他の2つのテーブル)に書き込む同じプログラムによって更新されます。

Solarisには2つのテーブルがあります。 1つは同じテーブルで、もう1つはまったく同じではないテーブルです。

last他の人が指摘したコマンドは、両方のコマンドで機能しないため、特に便利ではありません。操作が中断されましたその他ログインアカウントデータベースのテーブル、つまりログインイベントログテーブルに示すように、アカウントがログインしていない場合は、このテーブルに処理する内容はありません。代わりに、各ユーザーアカウントの最後のログインスケジュールの履歴があります(BSDでは空の暗黙的なレコード、Linuxでは明示的に空のレコード)。

それほど同等ではないSolarisテーブルは/var/adm/acct/sum/loginlog。プログラムは、ログインが発生したときにこのデータを直接入力せず、報告するlogin直接的に同等のプログラムもありません。

これはlastloginコマンドに関連付けられていますが、前述の同じ名前のコマンドとはかなり異なります。 Solaris では、内容を報告するツールではなく、このテーブルに書き込むツールです。 (これはlastloginAIXでも使用されます。)runacctツールは毎日実行され、lastloginこの表を満たすコマンドを呼び出します。報告はprtacctコマンドによって行われます。

直接同等のSolarisテーブルは、/var/adm/lastlogOracle 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日。
  • lastloginFreeBSD システム管理者マニュアル。 2011年6月6日。
  • lastユーザーコマンドマニュアル。イルモス。 2017年4月12日。
  • acctshシステム管理コマンド。 Sun OS 5.11。 2002年3月15日。

おすすめ記事