입력된 모든 명령을 기록하는 방법

입력된 모든 명령을 기록하는 방법

누군가가 셸에 입력하는 모든 명령을 어떻게 기록합니까?

귀하가 다른 사람의 서버에 로그인했는데 문제가 발생하거나 다른 사람이 (의도적이든 악의적이든) 귀하의 서버에 로그인하는 경우 자신을 보호하기 위해 이 내용을 요청합니다.

초보자도 할 수 있어요우회 이력또는 새 셸을 만들어 unset history흔적을 숨길 수도 있습니다.

Linux 수석 관리자가 시스템에 입력된 명령이나 변경 사항을 어떻게 추적하는지 궁금합니다.

답변1

확인하다심사. 추가하면

-a exit,always -F arch=b64 -S execve
-a exit,always -F arch=b32 -S execve

실행된 모든 /etc/audit/audit.rules명령이 기록됩니다. 바라보다:https://whmcr.com/2011/10/14/auditd-logging-all-commands/

그런 다음 syslog 서버로 전송됩니다.

답변2

당신은 그것을 사용할 수 있습니다스크립트주문하다. 이 명령은 POSIX에 포함되어 있지 않지만 모든 키 입력과 출력 및 오류 메시지를 파일에 저장하는 것이 유용할 수 있습니다. 나중에 파일을 볼 수 있습니다. 중요한 작업을 수행 중이고 모든 활동에 대한 로그를 유지하려면 로그인 후 바로 이 명령을 호출해야 합니다.

$스크립트
스크립트가 시작되고 파일이 TypeScript입니다.
$_ 이것은 또 다른 쉘입니다 - 로그인 쉘의 하위입니다.

프롬프트가 반환되고 여기에 입력한 모든 키 입력(백스페이스 키 입력 포함)이 이제 "typescript" 파일에 기록됩니다. 녹음이 완료되면 다음을 입력하여 세션을 종료할 수 있습니다.출구.
참고: 다음을 입력하면스크립트 파일 이름, 세션은 파일에 저장됩니다파일 이름대신에타이프스크립트, 즉 특정 파일 이름이 지정되지 않으면 기본값은 typescript입니다.

이제 다음을 사용할 수 있습니다.고양이 파일 이름또는고양이 타이프스크립트, 두 경우 모두 기록된 세션을 확인하세요.

새 세션을 이전 파일에 추가하려면 다음을 사용하세요. 스크립트-a TypeScript에 새 세션을 연결합니다. 여기에도 동일한 기본 규칙이 적용됩니다.

이는 시스템 관리자가 세션을 추적하는 방법입니다. 유익하고 유용했기를 바랍니다. 건배!

관련 정보