/opt에서 많은 디스크 공간(약 30%)을 채우는 사용자와 일치하는 BASH 명령은 무엇입니까?

/opt에서 많은 디스크 공간(약 30%)을 채우는 사용자와 일치하는 BASH 명령은 무엇입니까?

때로는 디스크가 가득 차는 원인을 파악할 수 없는 문제에 직면하기도 합니다. 따라서 시간 경과에 따라 사용자의 uid 및 pid를 캡처하는 BASH 단일 라이너/스크립트가 있는 경우 해당 사용자에 직접 액세스할 수 있습니다. 모니터링 도구는 I/O 급증이 언제 발생하는지 알려 주지만 그 원인은 알 수 없습니다. 따라서 그러한 문장이 유용할 것입니다. 이는 모든 Linux 기반 시스템에 적용됩니다.

한 가지 접근 방식은 시스템 호출을 감지하는 것입니다. 이 질문은 모든 Linux 시스템에 적용됩니다. 내가 여기서 무엇을 놓치고 있는지 모르겠습니다.

답변1

이는 다음과 같은 20개의 가장 큰 파일 /opt크기와 사용자 이름을 제공합니다.

find /opt/ -type f -printf "%s\t%u\t%p\n" | sort -k1,1n | tail -n 20

답변2

관련 파일의 소유권/그룹이 필요한 정보를 제공하지 않는 경우(예:딩크의 대답), 나중에 누가 무엇을 했는지 쉽게 판단할 수 없습니다.

아마도 당시 로그인한 사람을 기반으로 시스템 로그를 긁어내고 권한 상승된 로그와 결합하여 증거를 모을 수 있습니다. 이러한 로그의 가용성은 설정, 특히 사용자가 데이터를 생성하기 위해 다른 계정으로 전환한 방법에 따라 달라집니다. . 이것은 당신이 찾고 있는 "단일 라이너"가 아닐 것입니다.

auditd그렇지 않으면 이를 활성화하고 사용하여 /opt디렉터리/파일 시스템 변경 사항을 적극적으로 모니터링하는 것을 고려하고 있습니다 . 이를 통해 "하나의 라이너"는 감사 로그에 대한 사후 필터입니다.

예를 참조하세요:파일/디렉터리 변경 사항을 모니터링하는 방법

그러나 감사 로그는 용량이 클 수 있으므로 새로운 고려 사항을 제시합니다.

관련 정보