정보 출처 - 사령관

정보 출처 - 사령관

"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/utmp.utmp아니요이는 사람이 읽을 수 있는 파일이 아니라 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더 나은 서비스를 제공할 것입니다.

관련 정보