누군가가 셸에 입력하는 모든 명령을 어떻게 기록합니까?
귀하가 다른 사람의 서버에 로그인했는데 문제가 발생하거나 다른 사람이 (의도적이든 악의적이든) 귀하의 서버에 로그인하는 경우 자신을 보호하기 위해 이 내용을 요청합니다.
초보자도 할 수 있어요우회 이력또는 새 셸을 만들어 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에 새 세션을 연결합니다. 여기에도 동일한 기본 규칙이 적용됩니다.
이는 시스템 관리자가 세션을 추적하는 방법입니다. 유익하고 유용했기를 바랍니다. 건배!