当前位置: 首页 > 面试题库 >

仅为我自己禁用和重新启用地址空间布局随机化

赵俊晤
2023-03-14
问题内容

我想在我的系统(Ubuntu Gnu / Linux 2.6.32-41-server)上禁用地址空间布局随机化(ASLR),但是,如果使用

sysctl -w kernel.randomize_va_space=0

我认为,更改将影响系统上的所有用户。(这是真的吗?)如何将禁用ASLR的影响仅限于自己作为用户使用,或者仅限于在我调用该命令禁用的Shell会话中进行?

顺便说一句,我看到系统的当前(默认)设置是

kernel.randomize_va_space = 2

为什么选择2,而不是1或3?在哪里可以找到有关/ proc / sys设置的数值,其范围及其含义的文档?谢谢!


问题答案:

randomize_va_space sysctl
设置的文档Documentation/sysctl/kernel.txt在内核源代码树中。基本上,

0-关闭进程地址空间随机化。

1-将mmap基本,堆栈和VDSO页面的地址随机化。

2-另外启用堆随机化。



 类似资料:
  • 问题内容: 我正在尝试调试使用很多指针的二进制文件。有时为了快速查看输出以找出错误,我打印了对象的地址及其对应的值,但是对象地址是随机的,这违背了快速检查的目的。有没有一种方法可以暂时/永久禁用此功能,以便每次运行程序时都获得相同的值。 哎呀。操作系统是 问题答案: 在Ubuntu上,可以使用…禁用它。 在Windows上,这篇文章可能会有所帮助… http://blog.didiersteven

  • 问题内容: 我正在为并行程序开发一个运行时系统,该程序可以利用跨多个进程的公共地址空间布局,并有可能分布在多个(千个)节点上。很多时候,为此环境构建的软件在默认情况下启用了地址空间随机化的Linux系统上运行,用户可能不希望或无法在系统范围内(通过等)禁用它。这对并行程序施加了一些限制,并可能损害性能。因此,我们想弄清楚如何针对我们构建的二进制文件禁用它。安全性不是问题,因为此软件始终在受控环境中

  • 问题内容: 我做错了(或没有做过)对我而言无法正常工作? 问题答案: 如果您使用的是Docker,则可能需要该选项(以及启用ptrace):

  • 地址空间 分段机制涉及5个关键内容:逻辑地址(Logical Address,应用程序员看到的地址,在操作系统原理上称为虚拟地址,以后提到虚拟地址就是指逻辑地址)、物理地址(Physical Address, 实际的物理内存地址)、段描述符表(包含多个段描述符的“数组”)、段描述符(描述段的属性,及段描述符表这个“数组”中的“数组元素”)、段选择子(即段寄存器中的值,用于定位段描述符表中段描述符表

  • 问题内容: 我想获取启动程序的计算机的IP地址,然后将其发送到客户端,但是我总是得到0.0.0.1而不是真实的IP地址(例如127.0.0.1)。 我目前可以获取端口,但无法获取IP地址。 我怎么才能得到它? 最好的解决方案是能够使用。这是我目前正在做的事情: 编辑: 我知道我的思维方式走错了路。所以我的问题是:获得自己的IP地址的最佳方法是什么? 问题答案: 当您将套接字设为0.0.0.0时,这

  • 主要内容:物理地址空间,逻辑地址空间,什么是单词?物理地址空间 系统中的物理地址空间可以被定义为主存储器的大小。 将进程大小与物理地址空间进行比较非常重要。 进程大小必须小于物理地址空间。 逻辑地址空间 逻辑地址空间可以定义为进程的大小。 进程的大小应该足够小,以便它可以驻留在主内存中。 什么是单词? Word是内存的最小单位。 它是字节的集合。 在分析输入到解码器的n位地址和从解码器产生的2 ^ n个存储位置之后,每个操作系统定义不同的字长。