이전 포스팅에서 명령어 히스토리 설정하는 법과 삭제하는 방법에 알려드렸는데요. 이번 포스팅에서는 Snoopy Logger라는 유틸리티를 이용하여, 명령어 히스토리를 별도의 파일에 로깅할 수 있는 방법에 대해 소개하고자 합니다.
▷ Snoopy Logger는 리눅스 시스템에서 실행한 프로그램이나 명령어 히스토리를 저장하는 유틸리티 입니다. 쉘스크립트로 명령어 히스토리를 저장하는 방법도 있지만, Snoopy Logger를 이용하면 조금더 편하게 서버의 모든 유저가 사용한 명령어를 별도 파일에 저장하여 해당 내용을 확인할 수 있습니다.
▷ 아래의 링크는 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.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] pwquality를 이용한 패스워드 규칙 적용하는 방법 (0) | 2021.02.05 |
---|---|
[CentOS 8] John the ripper 를 이용한 패스워드 점검 (6) | 2021.02.04 |
[CentOS 8] 명령어 히스토리(history) 관리하는 방법 (1) | 2021.02.01 |
[CentOS 8] Lynis를 이용한 시스템 보안 감사와 보안 취약점 진단 (2) | 2021.01.29 |
[CentOS 8] psacct 로 사용자 활동 모니터링하는 방법 (2) | 2021.01.28 |
댓글 영역