Warnung: Fehler beim deaktivieren von address space randomization: Operation not permitted
was habe ich falsch gemacht (oder nicht tun), dass gdb
funktioniert nicht richtig für mich?
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.
- Bei der Ausführung in einem docker container, bekam ich diese Fehlermeldung, bis ich Hinzugefügt
--security-opt seccomp=unconfined
zu dendocker run
. - danke für den Tipp! Sie machte meinen Tag.
- es funktioniert gut für mich, aber Sicherheit problem coms
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie mit Docker, müssen Sie wahrscheinlich die
--security-opt seccomp=unconfined
option (sowie die Aktivierung ptrace):--cap-add=SYS_PTRACE
ist nur dann erforderlich, wenn die Befestigunggdb
zu einem bereits Laufenden Prozess.Aus welchem Grund auch immer, Ihr Benutzerkonto nicht über die Berechtigung zum deaktivieren des kernel address space layout randomisation für diesen Prozess. Standardmäßig ist gdb schaltet das wieder ab, denn es macht einige Arten von Debuggen zu erleichtern (insbesondere, bedeutet es, dass die Adresse des stack-Objekte werden die gleichen sein, jedes mal, wenn Sie Ihr Programm auszuführen). Lesen Sie mehr hier.
Können Sie dieses problem umgehen, durch deaktivieren dieser Funktion der gdb mit
set disable-randomization off
.Als Sie für Ihren Benutzer die Berechtigung benötigt, zu deaktivieren, ASLR, die es wohl hinausläuft, dass die Schreibberechtigung zu
/proc/sys/kernel/randomize_va_space
. Lesen Sie mehr hier.Gebäude auf wisbucky Antwort (danke!), hier sind die gleichen Einstellungen für Docker compose:
Die option Sicherheit
seccomp:unconfirmed
Feste dieaddress space randomization
Warnungen.Die Fähigkeit SYS_PTRACE schien nicht haben einen spürbaren Effekt, obwohl die Docker Dokumentation besagt, dass SYS_PTRACE ist eine Funktion, die "nicht standardmäßig gewährt". Vielleicht, ich weiß nicht, was Sie suchen.