Solaris 10 auf x86 unterstützt das no execute (NX)-Bit in den Modi 32-Bit und 64-Bit. Das NX-Bit ermöglicht die vollständige Implementierung der Schutzmechanismen, die impliziert sind, wenn PROT_EXEC in verschiedenen Speicher-Systemaufrufen, z. B. der Funktion mmap(), nicht verwendet wird. Vorher war auf x86 bei allem zugeordneten Arbeitsspeicher immer implizit PROT_EXEC gesetzt. Durch die Unterstützung von Solaris für das NX-Bit wird der Virenschutz verbessert.
Auf NX-fähiger Hardware verwendet das Solaris BS das NX-Bit standardmäßig, wenn PROT_EXEC nicht festgelegt ist. Stacksegmente verwenden jedoch standardmäßig PROT_EXEC, nicht das NX-Bit. Die Standardeinstellung für Stacksegmente kann durch eine der folgenden Aktionen geändert werden:
Legen Sie no_exec_userstack in /etc/system so fest, dass no exec global für alle Anwendungsstacks festgelegt wird.
Verknüpfen Sie eine einzelne Anwendung mit der Zuordnungsdatei /usr/lib/ld/map.noexstk.
Der Systemadministrator kann jegliche Verwendung des NX-Bits deaktivieren, indem er mit dem Befehl eeprom enforce-prot-exec auf “off” (aus) einstellt. Diese Variable wird als Übergangslösung für alle Systeme bereitgestellt, die übernommene Anwendungen verwenden, denen PROT_EXEC fehlt.