如何通过dockerfile禁用linux空间随机化?

Jas*_*Jas 7 c linux gdb docker

我试图通过Dockerfile以下方式禁用随机化:

RUN sudo echo 0 | sudo tee /proc/sys/kernel/randomize_va_space
Run Code Online (Sandbox Code Playgroud)

但我明白了

Step 9 : RUN sudo echo 0 | sudo tee /proc/sys/kernel/randomize_va_space
 ---> Running in 0f69e9ac1b6e
[91mtee: /proc/sys/kernel/randomize_va_space: Read-only file system
Run Code Online (Sandbox Code Playgroud)

有办法解决这个问题吗?(我看到它的说法read-only file system可以解决这个问题?)如果它的kernel意思是这意味着它超出了我的container范围,在这种情况下,我应该如何使用容器中的gdb?请注意,这是我的目标一起工作gdb在一个容器,因为我用它进行试验,所以我想要一个container它封装gccgdb我将使用性实验.

小智 1

Docker 有修改某些sysctl 的语法(尽管不是通过 dockerfile),但kernel.randomize_va_space似乎不是其中之一。

既然您说过您有兴趣运行 gcc/gdb,您可以仅对这些二进制文件禁用 ASLR

setarch `uname -m` -R /path/to/gcc/gdb
Run Code Online (Sandbox Code Playgroud)

另请参阅此问题中的其他答案。