반응형
경고 : 주소 공간 무작위 화 비활성화 오류 : 작업이 허용되지 않습니다.
gdb
나에게 제대로 작동 하지 않는 내가 무엇을 잘못했거나하지 않았 습니까?
root@6be3d60ab7c6:/# cat minimal.c
int main()
{
int i = 1337;
return 0;
}
root@6be3d60ab7c6:/# gcc -g minimal.c -o minimal
root@6be3d60ab7c6:/# gdb minimal
GNU gdb (Ubuntu 7.7.1-0ubuntu5~14.04.2) 7.7.1
.
.
.
Reading symbols from minimal...done.
(gdb) break main
Breakpoint 1 at 0x4004f1: file minimal.c, line 3.
(gdb) run
Starting program: /minimal
warning: Error disabling address space randomization: Operation not permitted
During startup program exited normally.
(gdb)
(gdb) print i
No symbol "i" in current context.
Docker를 사용하는 경우 --security-opt seccomp=unconfined
옵션이 필요할 수 있습니다 (및 ptrace 활성화).
docker run --cap-add=SYS_PTRACE --security-opt seccomp=unconfined
어떤 이유로 든 사용자 계정에는이 프로세스에 대한 커널의 주소 공간 레이아웃 무작위 화를 비활성화 할 권한이 없습니다. 기본적으로 gdb는 디버깅을 더 쉽게 해주기 때문에이 기능을 해제합니다 (특히 프로그램을 실행할 때마다 스택 객체의 주소가 동일 함을 의미합니다). 여기에서 자세한 내용을 읽어보십시오 .
.NET에서 gdb의이 기능을 비활성화하여이 문제를 해결할 수 있습니다 set disable-randomization off
.
사용자에게 ASLR을 비활성화하는 데 필요한 권한을 부여하려면 /proc/sys/kernel/randomize_va_space
. 여기에서 자세한 내용을 읽어보십시오 .
바탕 wisbucky의 대답은 여기에 (! 감사합니다) 도커의 작성에 대해 동일한 설정입니다 :
security_opt:
- seccomp:unconfined
cap_add:
- SYS_PTRACE
보안 옵션 seccomp:unconfirmed
이 address space randomization
경고를 수정했습니다 .
Docker 문서 에 SYS_PTRACE가 "기본적으로 부여되지 않은"기능이라고 명시되어 있지만 기능 SYS_PTRACE는 눈에 띄는 영향을 미치지 않는 것 같습니다 . 무엇을 찾아야할지 모르겠습니다.
반응형
'Programing' 카테고리의 다른 글
Angular 지시문 템플릿에 조건부로 데이터 속성 추가 (0) | 2020.11.24 |
---|---|
"이 비동기 메서드에는 'await'연산자가 없으며 동 기적으로 실행됩니다."경고에 대해 걱정해야합니까? (0) | 2020.11.24 |
REST 웹 서비스 테스트 (0) | 2020.11.24 |
CoreData 레코드의 재정렬을 구현하는 방법은 무엇입니까? (0) | 2020.11.24 |
Zend Framework에서 이메일 템플릿을 어떻게 만들 수 있습니까? (0) | 2020.11.24 |