강좌
클라우드/리눅스에 관한 강좌입니다.
리눅스 분류

시스템사용자들에 대한 최근 접속정보를 확인하라.

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

시스템사용자들에 대한 최근 접속정보를 확인하라.

 

 

 

 

 

 

우리는 앞에서 last라는 것을 이용하여 시스템 접속정보를 확인하는 방법을 배웠다.

 

 

 

 앞에서 배웠던 last는 모든 사용자의 모든 정보를 보여주지만, 우리에게 필요한 접속정보는 각 사용자들이 언제 마지막으로 접속하였는가에 대한 각 사용자들의 최근 접속정보를 확인하는 방법이 필요할 것이다.

 

 

 

 

 

 이런 정보는 lastlog라는 명령어로 확인할 수 있다.

 

 

 

 

 

 , 시스템관리자라면 출력되는 정보만을 확인하는 것도 필수적으로 확인해야 할 사항이지만 이 정보가 어떤 환경에서 출력되었고 또한 그 결과를 어떤 의미로 해석해야 하는가?”라는 단계까지 분석할 수 있어야만 유능한 시스템관리자라고 할 수 있다.

 

 

 

 

 

 결론적으로 다음과 같이 정리할 수 있다.

 

 

 

 

 

 

 

/etc/passwd파일에 정의되어 있는 모든 사용자들의 마지막 접속정보를 확인하는 명령어가lastlog이다.

 

 

 

 

 

 그리고 다음 사항을 반드시 꼭(강조 또 강조) 기억해 두기 바란다.

 

 

 

 

 

앞에서 배웠던 last명령어가 /var/log/wtmp파일을 참조하여 사용자들의 접속정보를 출력하는 것과 같이 이번절에서 설명하는 lastlog /var/log/lastlog파일의 정보에 저장된 정보를 참조하여 각 계정사용자들의 최근 접속정보를 출력한다.

 

 

 

 

 

 

 /var/log/wtmp파일과 /var/log/lastlog파일은 바이너리파일로 되어있기 때문에 cat이나 vi등의 일반적인 방법으로는 확인할 수 없다.

 

 

 

 따라서 /var/log/wtmp파일은 last명령어로 확인하고 /var/log/lastlog파일은 lastlog명령어로 그 내용을 확인한다.

 

 

 

 

 

 

 

 

아울러 한가지 더 알아두어야 할 것은 /var/log/lastlog파일에 저장되는 형식은  /usr/include/lastlog.h 파일에 정의된 포맷(format)으로 저장된다는 점이다.

 

 

 

 

 

 /usr/include/lastlog.h 파일을 잠깐 살펴보면 다음과 같다.

 

 

 

 

 

[root@sulinux ~]#cat /usr/include/lastlog.h

/* This header file is used in 4.3BSD to define `struct lastlog',

   which we define in <bits/utmp.h>.  */

 

#include <utmp.h>

[root@sulinux ~]#

[root@sulinux ~]#ls -l /usr/include/utmp.h

-rw-r--r-- 1 root root 3334  7 10  2008 /usr/include/utmp.h

[root@sulinux ~]#

 

결론적으로 /var/log/lastlog파일에 저장되는 포맷(format) /usr/include/utmp.h파일에 지정된 포맷을 사용한다는 것을 알 수 있다.

 

 

 

 

 

 관심있는 분들이라면 /usr/include/utmp.h파일의 내용을 한번쯤 살펴보기 바란다.

 

 

 

 

 

, 이제 다음 lastlog에 대한 예를 보도록 하자.

 

[root@sulinux ~]#lastlog

사용자명         포트     ~로부터          최근정보

root             :0                          3  6 05:09:55 +0900 2009

bin                                        **한번도 로그인한 적이 없습니다**

daemon                                     **한번도 로그인한 적이 없습니다**

adm                                        **한번도 로그인한 적이 없습니다**

lp                                         **한번도 로그인한 적이 없습니다**

sync                                       **한번도 로그인한 적이 없습니다**

shutdown                                   **한번도 로그인한 적이 없습니다**

halt                                       **한번도 로그인한 적이 없습니다**

mail                                       **한번도 로그인한 적이 없습니다**

news                                       **한번도 로그인한 적이 없습니다**

uucp                                       **한번도 로그인한 적이 없습니다**

operator                                   **한번도 로그인한 적이 없습니다**

games                                      **한번도 로그인한 적이 없습니다**

gopher                                     **한번도 로그인한 적이 없습니다**

ftp                                        **한번도 로그인한 적이 없습니다**

nobody                                     **한번도 로그인한 적이 없습니다**

rpm                                        **한번도 로그인한 적이 없습니다**

dbus                                       **한번도 로그인한 적이 없습니다**

avahi                                      **한번도 로그인한 적이 없습니다**

ntp                                        **한번도 로그인한 적이 없습니다**

mailnull                                   **한번도 로그인한 적이 없습니다**

smmsp                                      **한번도 로그인한 적이 없습니다**

nscd                                       **한번도 로그인한 적이 없습니다**

vcsa                                       **한번도 로그인한 적이 없습니다**

rpc                                        **한번도 로그인한 적이 없습니다**

rpcuser                                    **한번도 로그인한 적이 없습니다**

named                                      **한번도 로그인한 적이 없습니다**

sshd                                       **한번도 로그인한 적이 없습니다**

pcap                                       **한번도 로그인한 적이 없습니다**

distcache                                  **한번도 로그인한 적이 없습니다**

haldaemon                                  **한번도 로그인한 적이 없습니다**

xfs                                        **한번도 로그인한 적이 없습니다**

gdm                                        **한번도 로그인한 적이 없습니다**

sspark           pts/1    192.168.0.150      2 15 22:42:27 +0900 2009

sulinux          pts/2    192.168.0.156      3  6 06:32:55 +0900 2009

[root@sulinux ~]#

 

**Never logged in**" 또는 “**한번도 로그인한 적이 없습니다**”는 해당계정이 생성 이후 부터 지금까지 한번도 시스템에 접속한 적이 없다는 것을 의미한다.

 

 

 

 

 

 

 위와 같이 시스템의 모든 사용자에 대한 마지막 시스템접속정보를 확인할 수 있다.

 

 

 

 

 

 

 

그리고 다음과 같이 보다 유용한 정보를 확인할 수 있다.

 

 

 

 

 

 

 

  “lastlog -u 사용자ID”

해당 사용자에 대한 마지막 접속정보만을 확인

 

 

 

  “lastlog -b N”

지정한 N일 이전에 접속한 마지막 접속정보만을 확인

 

 

 

  “lastlog -t 일자

최근 명일 전부터 현재까지의 마지막 접속정보만을 확인

 

 

 

  “lastlog -u 사용자ID -b N”

지정한 N일 이전에 접속한 해당 사용자의 마지막 접속정보만을 확인

 

 

 

다음 예를 보자. , 다음은 ssaprk사용자의 대한 접속정보 가운데 최근 5일 이전부터 현재까지 언제 마지막으로 접속하였는가를 확인하는 예이다.

 

 

 

 

 

 

 

[root@sulinux ~]#lastlog -u sspark -b 5

사용자명         포트     ~로부터          최근정보

sspark           pts/1    192.168.0.150      2 17 22:42:27 +0900 2010

[root@sulinux ~]#

 

그리고 다음은 최근 10일 전부터 현재까지의 접속한 기록들 가운데 마지막 접속기록들만 확인한 예이다.

 

 

 

 

 

 

 

[root@sulinux ~]#lastlog -t 10

사용자명         포트     ~로부터          최근정보

root             :0                          3  5 05:09:55 +0900 2010

sspark           pts/2    192.168.0.156      3  5 06:38:16 +0900 2010

sulinux          pts/2    192.168.0.156      3  5 06:32:55 +0900 2010

[root@sulinux ~]#

 

지금까지의 설명내용으로도 알 수 있듯이 lastlog는 보안감사에 매우 유익한 도구가 된다.

 

 

 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,064 명
  • 현재 강좌수 :  35,963 개
  • 현재 접속자 :  211 명