사용자가 터미널로 접속하여 명령어를 입력한것을 모두 로그로 남기는 방법에 대해 설명한다.
/etc/profile.d/cmd_log.sh
#!/bin/bash function logging { #stat="$?" cmd=$(history|tail -1) srcip=`who -m | awk -F'(' '{print $2}' | awk -F')' '{print $1}'` if [ "$cmd" != "$cmd_old" ]; then #logger -p local1.notice "[2] STAT=$stat" logger -p local1.notice "PID= $$, SRC=$srcip, PWD=$PWD, CMD=$cmd" fi cmd_old=$cmd } trap logging DEBUG
위와같이 스크립트를 생성해 두면 된다.