Command
資訊來源——指揮誰
我想知道該命令如何
"who"
將有關ssh
歷史的資訊提取到 Linux 系統中。例如,在我的共享網路工作站上,每個人都可以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"
從該文件中讀取該資訊?如果是這樣,該文件在哪裡?
查看誰的手冊頁。例如“如果未指定 FILE,請使用 /var/run/utmp。”
這不是一個文本文件,因此打開
vi
文件內容的視圖會很差。od -c /var/run/utmp | more
會更好。
如果您執行
strace -e open who
,您將看到所有who
打開的文件。在 Linux 上,這包括/var/run/utmp
.utmp
不是人類可讀的文件,而是一個結構序列**(**utmp
參見 參考資料utmpx(5)
)。在 FreeBSD 上,who
打開/var/run/utx.active
.您還可以在提到預設文件的位置
who --help
,man 1 who
甚至找到此資訊。info who