이것은 이상한 것이고 대답은 내가 간과한 간단한 것일 것이라는 것을 알고 있습니다... 나는 이전 버전의 Ubuntu 10.04를 실행하는 Linux 서버에 대한 책임을 물려받았으며 매 시간마다 백업 스크립트가 실행되지만 그것이 어디서 실행되고 있는지 알 수 없습니다.
인증 로그에는 백업이 실행되는 시간과 정확히 일치하는 매시간 항목이 표시되어 이것이 cron 작업임을 암시합니다.
"pam_unix(cron:session): session opened for user root"
앞에 SSH 세션 항목이 없으므로 SSH를 통한 원격 명령이 아닙니다.
다음 명령을 실행하여 모든 사용자의 cron 작업을 나열했는데 누구에게도 결과가 생성되지 않습니다.
"for user in $(cut -f1 -d: /etc/passwd); do crontab -u $user -l; done"
아나크론도 아니고... 또 뭐가 있나요? 내가 다음에 볼 수 있는 곳이 어디인지 제안해 주실 수 있나요? 잠재적으로 GUI 앱이 있고 인증 로그 항목이 오해의 소지가 있다고 생각합니다.
미리 감사드립니다
답변1
메시지는 쉘이 생성될 때마다 참조되는 PAM에서 나옵니다. /etc/pam.d
, 특히 파일 /etc/pam.d/common-session
및 의 내용을 확인하세요 /etc/pam.d/cron
.
이 메시지는 실제로 루트 사용자가 실행하는 cronjob이 어딘가에 있음을 의미합니다. 이는 작업이 아무 것도 수행하고 있다는 의미는 아닙니다. 예를 들어 특정 로그 파일이 회전할 수 있을 만큼 큰지 확인하고 회전하지 않고 종료할 수 있습니다.
cronjob의 정의는 여러 디렉터리와 파일에 분산되어 있습니다. 루트 사용자의 경우 파일 /etc/crontab
, 출력 crontab -l -u root
및 디렉토리의 내용 /etc/cron.hourly
, /etc/cron.daily
, 및 /etc/cron.weekly
을 살펴봐야 합니다 . 마지막 디렉토리에는 전통적인 cronjob 정의 테이블이 포함되어 있는 반면, 다른 모든 디렉토리에는 디렉토리 이름에 마침표가 언급된 cron에 의해 실행되는 실행 가능한 스크립트 또는 바이너리가 포함되어 있습니다(자세한 내용은 참조 )./etc/cron.monthly
/etc/cron.d
man run-parts