[c] 경고 : 주소 공간 무작위 화 비활성화 오류 : 작업이 허용되지 않습니다.

gdb나에게 제대로 작동 하지 않는 내가 무엇을 잘못했거나하지 않았 습니까?



답변

Docker를 사용하는 경우 --security-opt seccomp=unconfined옵션이 필요할 수 있습니다 (및 ptrace 활성화).


답변

어떤 이유로 든 사용자 계정에는이 프로세스에 대한 커널의 주소 공간 레이아웃 무작위 화를 비활성화 할 권한이 없습니다. 기본적으로 gdb는 디버깅을 더 쉽게 해주기 때문에이 기능을 해제합니다 (특히 프로그램을 실행할 때마다 스택 객체의 주소가 동일 함을 의미합니다). 여기에서 자세한 내용을 읽어보십시오 .

에서 gdb의이 기능을 비활성화하여이 문제를 해결할 수 있습니다 set disable-randomization off.

사용자에게 ASLR을 비활성화하는 데 필요한 권한을 부여하려면 /proc/sys/kernel/randomize_va_space. 여기에서 자세한 내용을 읽어보십시오 .


답변

바탕 wisbucky의 대답은 여기에 (! 감사합니다) 도커의 작성에 대해 동일한 설정입니다 :

보안 옵션 seccomp:unconfinedaddress space randomization경고를 수정했습니다 .

Docker 문서 에 SYS_PTRACE가 “기본적으로 부여되지 않은”기능이라고 명시되어 있지만 기능 SYS_PTRACE는 눈에 띄는 영향을 미치지 않는 것 같습니다 . 무엇을 찾아야할지 모르겠습니다.


답변