링크 ux 에서 셸 역사 명령 기록 기능
기본 history 명령 은 사용자 의 과거 기록 만 볼 수 있 지만 모든 사용자 가 명령 을 조작 하 는 시간 을 구분 할 수 없습니다.이 점 은 문제 에 대한 조사 에 상당히 불편 하 다.해결 방법 은/etc/bashrc 파일 에 history 명령 을 추가 하여 모든 셸 명령 의 실행 시간 을 자동 으로 기록 하 는 것 입 니 다.
HISTFILESIZE=4000
HISTSIZE=4000
HISTTIMEFORMAT='%F %T'
export HISTTIMEFORMAT
HISTFILESIZE 는. bashhistory 파일 에 저 장 된 명령 의 기록 총 수 는 기본 값 이 1000 입 니 다.HISTSIZE 는 history 명령 출력의 기록 총 수 를 정의 합 니 다.HISTTIMEFORMAT 는 날짜 명령 후의 "+"% F% T "와 같은 시간 표시 형식 을 정의 합 니 다.hiSTTIMEFORMAT 는 history 의 시간 변수 로 history 명령 에 값 을 전달 합 니 다.
고급 기교
위 에 있 는 것 은 시간 을 기록 할 수 있 지만 회계 감사 목적 으로 사용 할 수 없어 해커 에 의 해 조작 되 거나 잃 어 버 리 기 쉽다.다음 방법 은 시스템 에 로그 인 한 사용자, IP 주소, 셸 명령 과 상세 한 조작 시간 을 상세 하 게 기록 합 니 다.그리고 이 정 보 를 파일 형식 으로 안전 한 곳 에 저장 하여 시스템 감사 와 고장 검 사 를 제공 합 니 다.
아래 코드 를/etc/profile 파일 에 넣 으 면 상기 기능 을 실현 할 수 있 습 니 다.
#Record history operation
USER_IP=`who -u am i 2>/dev/null |awk '{print $NF}' |sed -e 's/[()]//g'`
LOGNAME=`who -u am i |awk '{print $1}'`
HISTDIR=/user/share/.history
if [ -z $USER_IP]
then
USER_IP=`hostname`
fi
if [ ! -d $HISTDIR]
then
mkdir -p $HISTDIR
chmod 777 $HISTDIR
fi
if [ ! -d $HISTDIR/${LOGNAME}]
then
mkdir -p $HISTDIR/${LOGNAME}
chmod 300 $HISTDIR/${LOGNAME}
fi
export HISTSIZE=4000
DT=`date +"%Y%m%d_%H%M%S"`
export HISTFILE="$HISTDIR/${LOGNAME}/${USER_IP}.history.$DT"
export HISTTIMEFORMAT="[%Y.%m.%d %H:%M:%S]"
chmod 600 $HISTDIR/${LOGNAME}/*.history* 2>/dev/null
참고 자료 •<> 이 책
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.