将栈标记为不可执行的,这有助于更好地阻止缓冲区溢出攻击。
运行有 64 位内核的 Oracle Solaris 系统在缺省情况下使所有 64 位应用程序的栈成为不可执行的。要使 32 位应用程序成为不可执行的,需要设置此参数。
带符号整数
0(禁用)
0(禁用)或 1(启用)
切换(开/关)
是。不影响当前正在运行的进程,仅影响在设置该值后创建的进程。
无
应始终启用,除非应用程序故意将可执行代码放在栈上,且没有使用 mprotect 使栈成为可执行的。有关更多信息,请参见 mprotect(2)。
不稳定