검색 엔진의 방문이 늘어나고 있군...

Posted
Filed under 쉘 스크립트
참조 원문 : Recording User Activity with a Script

  'script'라는 명령어는 터미널 세션에 출력되는 모든 글자를 파일에 기록하는 기능을 가지고 있습니다. 이를 스크립트에 이용하여 사용자의 활동을 로그로 남기는 딱히 쓸모없어 보이지만 흥미로운 글을 발견하여 포스팅합니다.
#!/bin/bash
# Capture keystrokes of a user and log

TIMESTAMP=$(date +%m%d%y%H%M%S)
HOST=$(hostname|cut -f1 -d.)
LOGDIR=/var/log/user
LOGFILE=${HOST}.${LOGNAME}.${TIMESTAMP}
touch $LOGDIR/$LOGFILE

chown $LOGNAME ${LOGDIR}/${LOGFILE}
chmod 600 ${LOGDIR}/${LOGFILE}

script ${LOGDIR}/${LOGFILE}
chmod 400 ${LOGDIR}/${LOGFILE}
  위 스크립트는 호스트명, 사용자명, 타임스탬프로 /var/log/user 디렉토리 안에 로그 파일을 만들어 기록하게 만듭니다. 정확히는 적당한 경로에 적당한 이름으로 파일을 만들어 퍼미션을 조정하는 것 뿐이고 정작 중요한 기록은 script 명령어가 다 합니다. 참고로 /var/log/user라는 디렉토리는 기본적으로 없기 때문에 스크립트를 사용하기 전에 미리 만들어야 합니다.

  위 스크립트를 적당한 위치에 적당한 이름으로 놓고 활동을 로깅할 사용자의 홈 디렉토리에 있는 .bash_profile이나 .profile에서 위 스크립트를 실행하도록 만들면 됩니다. 만약 모든 사용자에 대해 위 스크립트를 적용하고 싶다면 /etc/profile 파일에서 위 스크립트를 실행하게 만들면 됩니다.


2011/01/05 10:05 2011/01/05 10:05