Solaris 10 发行说明

x86: Solaris 支持 no execute

x86 上的 Solaris 10 在 32 位和 64 位模式下支持 no execute (NX) 位。使用 NX 位,可通过在 mmap() 函数等各种内存系统调用中不使用 PROT_EXEC 来实现必需的保护。 以前在 x86 上,所有隐含映射的内存都设置 PROT_EXEC。由于 Solaris 支持 NX 位,增强了病毒保护。

在支持 NX 的硬件上,只要未指定 PROT_EXEC,Solaris OS 就会缺省使用 NX 位。不过,堆栈段在缺省情况下使用 PROT_EXEC 而非 NX 位。可通过执行下列操作之一,更改堆栈段的缺省设置:

系统管理员可通过使用 eeprom 命令将 enforce-prot-exec 设置为 "off" 来禁用所有 NX 位。对于包含缺少 PROT_EXEC 的传统应用程序的任何系统,都提供此变量作为转换解决方法。