티스토리 뷰
오늘은 조금 재미있는(?) Shell 을 작성해 보았습니다.
다름아니라 System에 등록되어 있는 모든 사용자의 History Log를 검색해서 특정 명령어를 수행한 유저를 찾는 Script 입니다.
설명보다는 직접 한번 보겠습니다.
1) 기본적으로 아무런 파라메터 없이 Script를 수행 시킬 경우 아래와 같이 사용법이 표기됩니다.
[root@TEST01 ~]# ./history.sh ### Usage Manual : ./history.sh [Search word] [Number of row] [root@TEST01 ~]# |
2) 시스템에 생성되어있는 사용자들중 ls 명령을 수행한 사용자들의 History 중 최근 5개 까지 검색
[root@TEST01 ~]# ./history.sh ls 5 ###### root : ###### tail -f `ls -1rt /var/log/java*` ls ls ls -lrt ls
|
3) 시스템에 생성되어있는 사용자들중 kill 명령을 수행한 사용자들의 History 중 최근 10개 까지 검색
[root@TEST01 ~]# ./history.sh kill 10
|
4) 다음은 제일 중요한 Shell Script의 Source Code 입니다.
각 사용자 계정이하에 .bash_history 파일의 존재여부를 체크후 해당 history 파일을 검색하는 방식이기 때문에 history 파일 자체가 삭제될 경우는 사실상 소용이 없는 Shell 이기는 하지만 유용하게 써먹을 수 있을 법도 합니다. -_ -a
#!/bin/bash #Develop by helperchoi / helperchoi@gmail.com
if [ $# = 0 ]
for LIST in ${LIST_FILE}; HOME_DIR=`finger ${LIST} | grep Direc | awk '{print $2}'` |
'System Story > CentOS 5,6' 카테고리의 다른 글
Linux System 이하 PCI Slot 정보 및 해당 Hardware BUS 정보 확인 (0) | 2014.03.06 |
---|---|
sar 명령을 통한 시스템 raw data 분석 (0) | 2014.03.05 |
성능분석을 위한 실시간 Disk Device 별 유입 I/O 확인 및 I/O Response 시간 산출 (2) | 2014.02.06 |
Linux Whatis DB를 통한 검색 (0) | 2014.02.04 |
Linux SWAP 생성 메커니즘 및 Shell Script를 통한 Thread 단위 SWAP 메모리 사용 현황 확인 (0) | 2014.02.03 |