여러 사용자 계정에 걸쳐 Linux 서버에서 실행 된 모든 bash 명령을보고 싶습니다. 내가 사용중인 특정 배포판은 CentOS 5.7입니다. 서버에서 .bash_history 파일을 전역 적으로 검색하는 방법이 locate | cat | grep
있습니까? 아니면 자체 개발 프로세스 입니까? (입력하는 것만으로도 떨린다).
getent
홈 디렉토리를 열거하는 데 사용 합니다.
getent passwd |
cut -d : -f 6 |
sed 's:$:/.bash_history:' |
xargs -d '\n' grep -s -H -e "$pattern"
홈 디렉토리가 잘 알려진 위치에있는 경우 다음과 같이 간단 할 수 있습니다.
grep -e "$pattern" /home/*/.bash_history
물론 사용자가 다른 셸을 사용하거나 다른 값을 사용하는 경우에는 HISTFILE
많은 것을 알 수 없습니다. 셸을 통해 실행되지 않은 명령, 별칭 및 함수, 사용자의 .NET Framework 초기에 일부 사용자 디렉터리에 있던 이제 제거 된 외부 명령에 대해서도 설명하지 않습니다 $PATH
. 사용자가 실행 한 명령이 무엇인지 알고 싶은 경우 프로세스 회계 또는 고급 감사 시스템이 필요합니다. 내 컴퓨터의 활동 모니터링을 참조하십시오 . , 프로세스가 완료된 후 얼마나 오래 실행되었는지 확인하는 방법은 무엇입니까? .
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다