linux-logins
/var/log/wtmp 파일을 파싱하여 리눅스 시스템의 터미널 로그인 및 로그아웃 이력을 조회합니다. 각 로그인 세션의 사용자, 접속 IP, 터미널, 로그인/로그아웃 시각을 구조화된 필드로 반환합니다.
명령어 속성
| 항목 | 설명 |
|---|---|
| 명령어 유형 | 드라이버 쿼리 |
| 필요 권한 | 관리자 |
| 라이선스 사용량 | 집계함 |
| 병렬 실행 | 미지원 |
| 분산 실행 | 수집 노드에서 실행 (mapper) |
문법
linux-logins
출력 필드
| 필드 | 타입 | 설명 |
|---|---|---|
_time | 날짜 | 로그인 시각. login_time 필드와 동일한 값을 할당합니다. |
src_ip | IP 주소 | 접속 원본 IP 주소. 로컬 로그인인 경우 null을 반환합니다. |
host | 문자열 | 접속 호스트 이름 (IP 주소 또는 도메인). 값이 비어 있으면 null을 반환합니다. |
pid | 32비트 정수 | 로그인 프로세스 ID |
user | 문자열 | 로그인 사용자 이름 |
tty | 문자열 | 터미널 장치 이름 (예: pts/0, tty1) |
login_time | 날짜 | 로그인 시각 |
logout_time | 날짜 | 로그아웃 시각. 아직 로그인 중이거나 로그아웃 기록이 없으면 null을 반환합니다. |
오류 코드
파싱 오류
| 오류 코드 | 메시지 | 설명 |
|---|---|---|
| 95040 | no-read-permission | 관리자 권한 없이 실행한 경우 |
런타임 오류
| 오류 코드 | 메시지 | 설명 | 후처리 동작 |
|---|---|---|---|
| - | - | /var/log/wtmp 파일을 읽을 수 없는 경우 | 쿼리 실행을 중단함 |
설명
linux-logins 명령어는 /var/log/wtmp 파일을 바이너리 형식으로 파싱하여 터미널 로그인 이력을 추출합니다. wtmp 파일에서 UserProcess 타입의 레코드를 로그인으로 인식하고, 동일한 터미널에서 발생한 다음 DeadProcess 레코드의 시각을 로그아웃 시각으로 할당합니다. 동일한 터미널에서 로그아웃 전에 새로운 로그인이 발생하면 이전 세션의 logout_time에 null을 할당합니다.
_time 필드에는 login_time과 동일한 값을 할당하여 시간 기반 쿼리에 활용할 수 있도록 합니다.
사용 예
-
전체 로그인 이력 조회
linux-logins시스템의 모든 터미널 로그인 이력을 조회합니다.
-
원격 접속 이력만 필터링
linux-logins | search isnotnull(src_ip)원격지에서 접속한 로그인 이력만 필터링합니다.
-
특정 사용자의 로그인 이력 조회
linux-logins | search user == "root"root사용자의 로그인 이력만 조회합니다. -
현재 로그인 중인 세션 조회
linux-logins | search isnull(logout_time)로그아웃 시각이 없는 세션, 즉 현재 로그인 중인 세션을 조회합니다.
호환성
linux-logins 명령어는 소나 4.0 이전 버전부터 제공되었습니다.