history 명령에 날짜와 시간을 부여하고 모든 사용자의 history 파일을 스크립트로 수집

2100 단어 Bash리눅스

개요



linux로 손쉽게 조작 로그를 취득하는 방법으로서, 유저의 ~/.bash_history 에 일시를 부여하는 것으로 대응했습니다.

설정



history 명령을 실행하면 과거에 실행한 명령의 이력을 볼 수 있지만, 날짜와 시간이 없기 때문에 언제 실행되었는지 알 수 없습니다.
그래서 ~/.profile 에 다음의 문장을 추가합니다.
HISTTIMEFORMAT='%y/%m/%d %H:%M:%S ';
~/.profile 에 기술하면 개별 계정마다 설정할 수 있습니다만, 이번은 전체에 적용시키고 싶으므로 /etc/profile.d/history.sh 에 기술합니다.


설정 파일
이용법



~/.profile
・로그인시에 그 세션 전체에 적용하는 것을 기술한다
쉘의 종류에 의존하지 않는 것을 기술한다

~/.bashrc
bash에서만 사용하는 것을 설명하십시오.
별칭

쉘 옵션
프롬프트 설정
~/.bash_profile


이 기사를 참고로했습니다.
Linux : .bashrc와 .bash_profile의 차이점을 이제 이해해야합니다.

취득 스크립트



사용자 별 파일명이 ~/.bash_history 로 같기 때문에, 유저 마다의 폴더를 준비한 다음에 다음과 같은 스크립트로 복사해 옵니다.

#!/bin/sh
#user1を作業ユーザとし、コピー前に作業フォルダの前回ファイルを削除する
sudo find /home/user1/log/ -name ".bash_history" -type f -print | xargs rm -f

#user1,user2,user3のファイルをuser1のlogフォルダにコピーする
for a in "user1" "usesr2" "user3" ; do

sudo cp -f /home/$a/.bash_history /home/user1/log/$a/;

done

결과



이러한 형태의 파일을 얻을 수 있습니다.

좋은 웹페이지 즐겨찾기