hanker

Linux - Command Log 확인 본문

SERVER/Linux

Linux - Command Log 확인

hanker 2024. 10. 2. 11:32
반응형

Linux 서버에서 로그 확인하는 방법이 여러가지 있지만, command 로그가 남는곳 ~/.bash_history 에 쌓이게 되는데,

해당 로그 확인 명령어는 vi ~/.bash_history 로 확인이 가능하지만 누가 사용했고, 언제 사용했는지는 나오지 않는다.

 

좀 자세하게 로그를 찍어보려고 한다.

 

vi /etc/profile

명령어를 입력해서 수정해보자.

profile 파일은 로그인하는 개별 사용자들에게 시스템의 기본적인 사용환경설정을 제공하기 위한 용도이다.

 

export PROMPT_COMMAND='history -a; echo "$(date "+%Y-%m-%d %H:%M:%S") | User: $USER | IP: ${SSH_CLIENT%% *} | Command: $(history 1)" >> /var/log/command.log'

에디터 제일 하단에 해당 내용을 입력해준 다음 :wq 저장한다.

(에디터 하단으로 이동 명령어 = [shift] + [g])

 

  1. history -a: 입력된 명령어를 즉시 히스토리 파일에 기록
  2. echo ... >> /var/log/command.log: 명령어의 실행 시간, 사용자, 접속 IP, 실행된 명령어를 로그 파일에 직접 기록

 

 

profile 파일을 수정한 후에는 꼭 적용을 해줘야 하는데, source /etc/profile 명령어로 변경 저장 해주고 명령어를 작성해보자.

 

tail -f /var/log/command.log

명령어를 치게 되면

시간, 접속 아이피, 계정, 명령어가 잘 나온다.

 

 

 

끝.

반응형