상세 컨텐츠

본문 제목

[CentOS 8] Snoopy Logger를 이용한 명령어 히스토리 로깅하는 방법

Linux

by mp.jamong 2021. 2. 2. 07:00

본문

 

이전 포스팅에서 명령어 히스토리 설정하는 법과 삭제하는 방법에 알려드렸는데요. 이번 포스팅에서는 Snoopy Logger라는 유틸리티를 이용하여, 명령어 히스토리를 별도의 파일에 로깅할 수 있는 방법에 대해 소개하고자 합니다.

 

 

Snoopy Logger 소개

 

Snoopy Logger는 리눅스 시스템에서 실행한 프로그램이나 명령어 히스토리를 저장하는 유틸리티 입니다. 쉘스크립트로 명령어 히스토리를 저장하는 방법도 있지만, Snoopy Logger를 이용하면 조금더 편하게 서버의 모든 유저가 사용한 명령어를 별도 파일에 저장하여 해당 내용을 확인할 수 있습니다.

 

아래의 링크는 Snoopy Logger 깃헙으로 설치부터 사용법에 대해 소개하고 있습니다.

 

a2o/snoopy

Snoopy is a small library that logs all program executions on your Linux/BSD system (a.k.a. Snoopy Logger). - a2o/snoopy

github.com

 

 

Snoopy Logger 설치

 

Snoopy Logger 설치는 공식 깃헙에 설치 방법을 참고하여 아래와 같이 설치를 진행합니다.

 


# 설치 파일 다운로드를 위해 wget 설치
[root@localhost ~]# dnf install wget

# github에서 설치 파일 다운로드
[root@localhost ~]# wget -O install-snoopy.sh https://github.com/a2o/snoopy/raw/install/install/install-snoopy.sh

# 설치 파일 권한 설정
[root@localhost ~]# chmod 755 install-snoopy.sh

# 안정화 버전으로 설치
[root@localhost ~]# ./install-snoopy.sh stable

 

 

Snoopy Logger 설정 후 로그 확인

 

Snoopy Logger 설치 후 snoopy.ini 파일에서 입맛에 맛게 설정하여 명령어 히스토리를 저장합니다.

 


# snoopy.ini 에서 로그 파일 설정 후 저장
[root@localhost ~]# vi /etc/snoopy.ini

# 메시지 포맷 신규 추가
message_format = "[username:%{username} datetime:%{datetime} uid:%{uid} sid:%{sid} tty:%{tty} cwd:%{cwd} filename:%{filename}]: %{cmdline}"

# 로그 파일 설정 (아래 내용 주석 ; 제거)
output = file:/var/log/snoopy.log


# 일반 사용자 로그 기록을 위한 수정 권한 부여
[root@localhost ~]# chmod 666 /var/log/snoopy.log


# 로그 파일 확인
[root@localhost ~]# tail /var/log/snoopy.log

[username:root datetime:2021-02-01T10:21:01+0900 uid:0 sid:2127 tty:(none) cwd:/ filename:/etc/cron.daily/tripwire-check]: /etc/cron.daily/tripwire-check
[username:root datetime:2021-02-01T10:21:01+0900 uid:0 sid:2127 tty:(none) cwd:/ filename:/bin/uname]: uname -n
[username:root datetime:2021-02-01T10:21:01+0900 uid:0 sid:2127 tty:(none) cwd:/ filename:/bin/sed]: sed -n s/^GLOBALEMAIL\W*=//p
[username:root datetime:2021-02-01T10:21:01+0900 uid:0 sid:2127 tty:(none) cwd:/ filename:/usr/sbin/twadmin]: /usr/sbin/twadmin -m f
[username:root datetime:2021-02-01T10:21:02+0900 uid:0 sid:2127 tty:(none) cwd:/ filename:/usr/sbin/tripwire]: /usr/sbin/tripwire --check
[username:root datetime:2021-02-01T10:21:18+0900 uid:0 sid:2127 tty:(none) cwd:/ filename:/bin/basename]: basename /etc/cron.daily/tripwire-check
[username:root datetime:2021-02-01T10:21:18+0900 uid:0 sid:2127 tty:(none) cwd:/ filename:/bin/logger]: logger -p cron.notice -t run-parts[2450] (/etc/cron.daily) finished tripwire-check
[username:root datetime:2021-02-01T10:21:39+0900 uid:0 sid:1531 tty:/dev/pts/0 cwd:/root filename:/usr/bin/tail]: tail /var/log/snoopy.log

 

 

 

▽ 같이 보면 더 좋은 블로그 글 

 

[CentOS 8] psacct 로 사용자 활동 모니터링하는 방법

psacct 패키지는 사용자 활동을 모니터링하는 유용한 도구를 포함하고 있습니다. 이번 포스팅에는 해당 패키지를 설치하고 사용하는 방법에 대해 알아보겠습니다. psacct 패키지 소개 ▷ psacct 패키

mpjamong.tistory.com

 

[CentOS 8] 명령어 히스토리(history) 관리하는 방법

history 명령어를 사용하면 이전에 사용한 명령어를 확인할 수 있지만, history 내역을 통해 이전에 작업한 내용을 유추할 수 있습니다. 이를 방지하기 위해 history 명령어 사용시 이전 명령어 사용

mpjamong.tistory.com

 

관련글 더보기

댓글 영역