情報源 - 司令官

情報源 - 司令官

"who"このコマンドが履歴情報をsshLinuxシステムに抽出する方法を知りたいです。たとえば、私の共有ネットワークワークステーションでは、誰もが次にsshアクセスできます。

[johny@gandor ~]$ who
johny :0           2018-08-30 06:44 (:0)
johny pts/0        2018-08-30 06:45 (:0.0)
johny pts/1        2018-08-30 06:45 (:0.0)
Keiven pts/2        2018-08-30 19:46 (:50.0)
seman pts/6        2018-08-31 15:15 (:50.0)
johny pts/7        2018-08-31 15:51 (:50.0)
casper pts/8        2018-08-31 16:53 (:50.0)
johny pts/10       2018-09-01 06:25 (:50.0)

この情報は最初にLinuxシステムファイルのどこかに保存され、このコマンドがその"who"ファイルからその情報を読み取ると仮定します。では、このファイルはどこにありますか?

答え1

実行すると、開いているstrace -e open whoすべてのファイルが表示されますwho。 Linuxでは例が含まれています/var/run/utmputmpいいえこれは人間が読めるファイルではなくutmp一連の構造です(参考資料を参照utmpx(5))。whoFreeBSDでは/var/run/utx.active

基本ファイルが記載されている場所でもこの情報を見つけることwho --helpができます。man 1 whoinfo who

答え2

whoのマニュアルページを見てください。たとえば、「FILE を指定しないと、/var/run/utmp が使用されます。」

このファイルはテキストファイルではないため、開いたviときにファイルの内容は表示されません。 od -c /var/run/utmp | moreより良いサービスを提供します。

関連情報