루트 로그인을 위해 로그 파일을 비활성화하는 방법은 무엇입니까?

루트 로그인을 위해 로그 파일을 비활성화하는 방법은 무엇입니까?

루트 로그인 시간과 기간을 기록하는 데비안의 모든 로그만 비활성화하고 싶지 않습니다.

터미널에서 명령을 실행하면 last내 IP 주소 등이 표시되므로 이 기능을 비활성화하고 싶습니다.

내가 갈 때 /var/log,btmp파일이 비어 있고 인식할 수 없는 문자와 같은 사각형 기호만 있습니다.중량프는 ~와 마찬가지로. 의 내용을 삭제했습니다 auth.log.

이 유형의 로그를 비활성화하려면 어떻게 해야 합니까?

답변1

로그 필터링

내에서는 필터를 사용하여 일부 로그를 처리할 수 있다고 생각합니다 rsyslog. 특히 구성 파일 아래에 필터를 추가해야 합니다 /etc/rsyslog.d/.

다음과 같은 메시지의 경우 /var/log/secure(예: Fedora 19):

Jun 28 13:28:18 greeneggs login: pam_unix(login:session): session opened for user saml by LOGIN(uid=0)
Jun 28 13:28:19 greeneggs login: LOGIN ON tty2 BY saml

다음과 같은 필터를 사용하여 이를 생략할 수 있습니다.

$syslogfacility-text == 'local0'이고 $msg가 'login'으로 시작하고 ($msg에 'root'가 포함되어 있음)이면 /dev/null

메모:위의 내용은 테스트되지 않았지만 대략적으로 어떻게 접근할 수 있는지 보여주는 예일 뿐입니다.

Wtmp 및 btmp 필터링

sed이러한 파일은 바이너리 파일이므로 및 와 같은 표준 도구를 사용하여 간단히 편집할 수 없습니다 awk. 정말로 편집하고 싶다면 cron정기적으로 편집해야 합니다. 사용자가 로그인할 때 두 파일에 추가되지 않도록 필터링하는 방법을 찾을 수 없습니다.

에서 발췌Utmp 위키피디아 페이지

utmp, wtmp 및 btmp

  • UMP시스템의 현재 상태, 시스템 부팅 시간(가동 시간에 사용됨), 터미널에서 사용자 로그인 기록, 로그아웃, 시스템 이벤트 등에 대한 전체 계정을 유지 관리합니다.
  • 중량프역사적인 utmp 역할을 합니다.
  • btmp실패한 로그인 시도를 기록합니다.

파일 utmp은 텍스트 파일이 아니라 특별히 제작된 프로그램으로 편집해야 하는 바이너리 형식입니다. 파일에 존재하는 구현 및 필드는 시스템 또는 libc 버전에 따라 다르며 utmp.h헤더 파일에 정의됩니다.

wtmp및 형식 은 null 사용자 이름이 관련 터미널에서 로그아웃을 의미한다는 점을 제외하면 btmp완전히 동일합니다 . utmp또한 사용자 이름이 shutdown 또는 restart인 터미널 이름은 시스템 종료 또는 재부팅을 나타내며 터미널 이름 쌍 /은 날짜가 변경될 때 이전/새 시스템 시간을 기록합니다.

이러한 파일을 확장하려면 Perl 모듈을 사용할 수 있습니다.사용자::Utmp이 파일을 수정하려면 Python에도 비슷한 모듈이 있습니다.

참고자료

관련 정보