이 게시물은 다소 유사하지만 내 게시물이 더 구체적입니다.
CRON: pam_unix(cron:session): 루트 사용자에 대해 (uid=0)에 의해 열린 세션
이게 정말 실수인가요? 우리 시스템에서는 이 프로세스가 5분마다 항목을 생성하므로 로그 백업 담당자의 생활이 매우 어려워집니다. 많은 수의 항목이 디스크에 저장됩니다.
아래 링크에 따라 이 문제를 해결해야 합니까, 아니면 최소한 항목 간 등록 시간을 늘릴 수 있습니까?
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=293272
http://languor.us/cron-pam-unix-cron-session-session-opened-close-user-root-uid0
최소한 항목 간 시간을 단축할 수 있나요? 현재 내 서버에는 5분마다 1쌍의 항목이 있습니다. 시간을 30분으로 늘린다고 가정하면 모든 로그인 시도(합법적인 로그인 시도 및 해커 로그인 시도)를 놓치게 됩니까?
답변1
이러한 항목은 작업이 실행될 때마다 로그에 추가됩니다 cron
. 항목 간 시간을 줄이려면 크론 작업을 검토하고 일정을 변경해야 합니다. 그러나 이로 인해 특정 간격으로 실행되는 작업에 의존하는 작업이 중단될 수 있습니다.
방해가 된다면 데비안 버그 보고서의 지침을 따르고 cron
작업이 실행될 때마다 항목 기록을 중지하세요. auth.log
즉, 편집 /etc/pam.d/common-session-noninteractive
하고 추가하십시오.
session [success=1 default=ignore] pam_succeed_if.so service in cron quiet use_uid
앞으로이 줄: 세션에는 pam_unix.so가 필요합니다.
cron 서비스를 다시 시작하십시오 (원본 포스터에서 제공하는 링크를 따르십시오)
답변2
이 로그 메시지를 원합니다
제가 말하려는 것은 크론 작업이 루트로 실행될 때마다 악의적일 수 있다는 것을 이 로그 메시지가 알려주기 때문에 "필수" 프로세스로 간주되어야 한다는 것입니다.
크론 작업 비활성화
새로운 Linux 배포판을 설치하는 동안 일부 버전에는 일부 크론 작업이 활성화되어 있는 것을 발견했습니다. 따라서 시스템에서 임의의 bash 스크립트가 실행되는 것을 원하지 않으면 해당 스크립트를 비활성화해야 합니다.
Cron 작업은 여러 위치에서 실행될 수 있습니다. 따라서 가장 먼저 확인하고 싶은 곳은 사용자 cronjob입니다. 존재하는지 확인하려면 다음 bash 스크립트를 사용할 수 있습니다.
#! /bin/bash
for user in $(awk -F':' '{ print $1}' /etc/passwd)
do
sudo crontab -u $user -l
done
사용자에게 crontab이 있으면 명령을 실행 sudo crontab -u TargetUsername -e
한 다음 다음을 사용하여 모든 줄을 주석 처리합니다.#
아나크론
일부 시스템에는 anacron이 설치되어 있으며 일반적으로 파일에서 anacron 관련 작업 항목을 볼 수 있습니다 /etc/crontab
. 또한 이 파일을 열고 여기에서 모든 항목을 주석 처리할 수도 있습니다. 나는 보통 Vim을 사용하여 이 파일을 편집합니다. 예를 들어,sudo vim /etc/crontab
Anacron은 서비스 타이머를 통해서도 실행됩니다. 따라서 anacron 작업을 추가로 종료하려면 anacron.timer
현재 실행 중인 타이머를 보려면 다음 명령을 실행해야 합니다.systemctl list-timers
목록에 anacron이 표시되면 를 사용하여 일시적으로 중지할 수 있습니다 sudo systemctl stop anacron.timer
. 영구적으로 실행 중지sudo systemctl mask anacron.timer
anacron 서비스가 실행 중인 경우 동일한 방법으로 중지할 수 있습니다.
남은 음식을 청소하다
cron 작업을 확인할 수 있는 디렉터리도 있습니다. /etc/cron.d
"/etc/crontab" 파일처럼 Vim, Nano 또는 기타 파일 편집기를 사용하여 이러한 파일을 편집할 수 있습니다. 각 파일의 행을 주석 처리하고 #
저장한 후 닫으면 됩니다.
변경사항 테스트
나는 실행하여 테스트하는 것을 좋아합니다 tail -f /var/log/auth.log
. 작동이 중지되면 수정한 줄을 "주석 해제"할 수 있지만 시스템에 따라 중요한 작업은 anacron에서 본 것처럼 예약된 서비스로 처리될 수 있으므로 문제가 없습니다.