중단 없이 마지막 로그 파일을 지우는 방법

중단 없이 마지막 로그 파일을 지우는 방법

우리 rhel 머신(프로덕션 서버)에서 Lastlog가 엄청나다는 것을 알았습니다.

항상 로그를 작성하는 OS 로그를 중단하고 싶지 않지만 마지막 로그를 지우고 싶습니다.

마지막 로그를 지울 수 있나요?

echo > /var/log/lastlog

두번째

Lastlog에 쓰기를 영구적으로 비활성화하는 방법은 무엇입니까?

답변1

Lastlog는 크기를 정확하게 보고하지 않으며 ls전혀 크지 않은 경우가 많습니다. 크기를 확인하려면 반드시 실행 ls -s하거나 를 사용하십시오 du.

나는 lastlog가 호출되는 것이라고 믿습니다스파스 파일. ls-s플래그가 없으면 실제 크기가 아닌 파일의 겉보기 크기가 보고됩니다.

아마도 Lastlog를 전혀 지울 필요가 없거나 얼마나 기록되는지 신경 쓸 필요가 없을 것입니다.

답변2

RHEL 7에서 Lastlog를 덮어쓰면 해당 로그가 지워지지 않지만 재부팅 시 정보가 대체됩니다.

보고된 크기가 이상하다는 것은 상관하지 않습니다. 실제로 크기를 지우고 VM 이미지를 복제한 후 다시 시작하여 새 시스템을 만들고 싶습니다.

그래서 다시 시작하기 전에 출력 리디렉션 ">"을 사용하여 이를 재정의해 보았습니다. 그런 다음 이름을 바꾸고 다시 시작하려고 시도했지만 모든 기록과 함께 다시 생성되었습니다.

답변3

가장 간단한 방법:

~] cat /dev/null > /var/log/lastlog

답변4

이것은 Natolio의 답변에 추가됩니다.

개별 사용자에 대해 최신 로그를 재설정할 수 있습니다.

sudo lastlog --clear --user username

맨페이지에 따르면 사용자 이름은 사용자 범위일 수도 있습니다.

사용자는 로그인 이름, 숫자 사용자 ID 또는 사용자 범위로 지정할 수 있습니다. 이 사용자 범위는 최소값 및 최대값(UID_MIN-UID_MAX), 최대값(-UID_MAX) 또는 최소값(UID_MIN-)을 사용하여 지정할 수 있습니다.

다음 명령은 모든 일반 사용자의 최신 로그를 지워야 합니다.

sudo lastlog --clear --user 1000-

관련 정보