💡 Bash history란 Bash Shell은 명령어 히스토리 기능을 제공하고 있습니다. history 명령어를 입력하면 접속한 사용자 홈 디렉토리에 .bash_history 파일에 기록되어 있는 내역을 표시하게 됩니다. .bash_history의 내용을 리눅스의 syslog에 남기게 하여 사용자가 직접 접속 후 사용하는 명령어들을 모니터링 할 수 있게 설정하고자 합니다.
Logger : 쉘 명령어를 syslog에 적재하도록 하는 모듈
function history_to_syslog
{
declare cmd
who=$(whoami)
cmd=$(history 1)
TTY=`tty`
HISNAME="`basename $TTY`"
ip=`who |grep pts/${HISNAME} |cut -f 2 -d \\(|cut -f 1 -d \\)`
logger -p logmain.notice -- IP=$ip USER=$who, PID=$$, PWD=$PW
}
trap history_to_syslog DEBUG || EXIT
HISTSIZE=10000
HISTFILESIZE=1000000
HISTTIMEFORMAT="%F %T "
export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTFILESIZE
declare -r HISTFILE
스크립트 파일의 기본 내용입니다.
function history_to_syslog 설명
2. profile.d 수정된 내용 적용을 위해 Source 적용
source /etc/profile.d/cmd.sh
3. rsyslog 설정
스크립트를 통한 명령어 적재가 확인 되었는지 보겠습니다.
💡 bash_history 적재 시 사용 명령어나 logger 옵션에 따라서 과도하게 적재 될 수 있으니, 이 점 유의하여 테스트하시길 바랍니다.
[Network]HTTP/HTTPS 란? (0) | 2024.06.17 |
---|---|
[Network]Switch 란? (0) | 2024.06.17 |
HDD vs SSD 저장장치 (0) | 2024.05.14 |
[Network] 패킷 Flags란? (0) | 2024.05.03 |
[네트워크]패킷 헤더가 뭘까? (0) | 2024.05.02 |