문제
복제하다:
"Fedora Core Release 3 (Heidelberg)"에서 코어 덤프를 만들려고합니다.
root@testserver test_core_dump]# uname -a
Linux Testserver 2.6.12-1.1381_FC3 #1 Fri Oct 21 03:46:55 EDT 2005 I686 Athlon I386 GNU/Linux
나는 따르고있다 이것 핵심 덤프를 만듭니다.
문제는이 버전에/proc/sys/kernel/suid_dumpable이 존재하지 않는다는 것입니다. 또한 여기/proc/sys/fs/suid_dumpable을 확인했지만 suid_dumpable은 존재하지 않습니다.
1) 이것에 대한 작업이 있습니까? 2) 여기서 뭔가 빠졌나요?
해결책
당신이 따르는 지침은 단순히 코어 덤프를 얻지 못하게 할 수있는 O/S 한계를 과도하게 승차하는 것입니다.
코어 덤프의 생성은 사소한 프로세스이며 다음과 같이 프로세스에 신호를 보냅니다.
kill -ABRT pid_of_process
그러나 이런 일이 발생하지 못하게 할 수있는 많은 것들이 있지만, 먼저 시도해보고 현재 디렉토리에서 코어 덤프가 생성되는지 확인해야합니다. 프로그램이 대화식이고 종금 징후를 가두 지 않으면 Sigquit을 프로세스로 보내어 코어를 덤프하게 할 수 있습니다. 일반적으로 Ctrl- 에 바인딩됩니다.
참조 문서에 문제가있는 영역은 해당 모드 중 하나에서 프로세스가 실행되지 않으면 SetUID/SetGuid를 실행하는 프로세스를 말하면 해당 단계를 안전하게 무시할 수 있습니다. (프로그램의 파일 권한을보고 setUid 및 setguid 비트를 검사하여 프로세스가 SetUid/setGuid를 실행하고 있는지 알 수 있습니다. LS -L 명령을 발행하고 4 번째 위치에서 S를 찾아서 수행 할 수 있습니다 (setUID). 또는 7 번째 위치 (setgid) (아래 setUid의 예)
-r-sr-xr-x 1 root wheel 57616 28 Oct 03:28 /usr/bin/login
작동하지 않고 작동하지 않는 단계를 사용하지 않고 코어를 생성하려고 했습니까?
프로세스가 실행중인 디렉토리에 또는 현재 디렉토리가 아닌 경우 코어 덤프에 대해 정의 된 디렉토리에 쓸 수 있어야합니다. 루트로 실행하면 권한 문제가 해결 될 수 있습니다.
다른 팁
나는 당신이 원하는 것을 이해하는지 확실하지 않습니다. 당신이 참조하는 웹 페이지는 코어 덤프를 가능하게하는 것에 대해 이야기합니다. 누락 된 sysctl에 대해 걱정하지 마십시오. 내 Linux 시스템도 가지고 있지 않으며 코어를 행복하게 덤프 할 수 있습니다 :) 특정 프로세스를위한 핵심 덤프를 만들고 싶습니까?
Sigabrt 외에도 사용해 볼 수도 있습니다 gcore
:
이름GCORE- 실행중인 프로세스에 대한 핵심 파일 생성
개요Gcore [-o filename] pid
설명Gcore는 프로세스 ID PID로 지정된 프로세스에 대한 핵심 파일을 생성합니다. 기본적으로 Core 파일은 현재 디렉토리에 Core.pid에 기록됩니다.
이것은의 복제입니다 이 질문. 그만큼 받아 들여진 답변, 그리고 대부분의 표를 가진 사람 다음을 제안하십시오.
Bash에서 :
ulimit -c unlimited
그리고 TCSH에서 :
limit coredumpsize unlimited
이 경우 프로그램이 충돌하면 코어 덤프가 core
프로그램이 운영되는 곳.