sedmgr 命令

用途

显示和设置系统或可执行文件的“堆栈执行禁用”标志。

语法

sedmgr [-m {off | all | select | setidfiles }][-o {on | off }][-c {system | request | exempt } { 文件名 | 文件组 }] [-d { 文件名 | 目录名 }] [-h ]

描述

sedmgr 命令是 "堆栈执行禁用" (SED) 工具的管理器。 您可以使用该命令启用和控制系统中完成的堆栈执行的级别。 该命令还可以用来设置可执行文件中的各种标志,控制堆栈执行禁用。 对系统范围方式设置的任何更改都只在系统重新引导后才会生效。

只有 root 用户可以修改系统范围的设置。 对单独可执行文件的其他设置和重新设置选项仅在用户对该文件具有写许可限时才会成功。 SED 功能仅适用于AIX®64 位内核操作系统。

如果调用时没有任何参数, sedmgr 命令将显示与堆栈执行禁用环境相关的当前设置。

有关详细信息,请参阅 "安全"中登录控制的 堆栈执行禁用保护 部分。

标志

描述
-c 在可执行文件的头中设置或重置“request”和“exempt”SED 标志。 另外,在 file_group 中的所有可执行文件的头中设置或重新设置 SED 请求和免除检查标志。 此选项需要对文件的写特权,或者,在指定了 file_group 时需要引导特权。 可能的值如下:
系统
如果文件在可执行文件的头中具有系统标志,那么操作系统将根据系统范围 SED 标志决定进程的操作。 当文件未指定任何标志时,操作系统也根据系统范围 SED 标志决定进程的操作。
exempt
在可执行文件头中设置一个标志表明该文件执行基于堆栈/头的操作,因此需要 SED 机制的免除。 SED 请求检查位关闭。
request
在可执行文件头设置一个标志表明该文件不执行任何基于堆栈/数据区域的操作,因此具有 SED 功能。 SED 免除检查位关闭。
您可以指定表示一组文件的文件组,例如 TCB 文件。 如果指定的文件名字符串不能确定文件,那么假定该字符串确定 file_group。 当前仅定义 TCB_files 文件组。 您可以为 32 位和 64 位可执行文件设置或重新设置 SED 请求和免除标志。 -c 标志不能与 -m-o-d 标志一起使用。
-d 显示可执行文件的 SED 请求和免除检查标志。 SED 请求和免除标志在可执行文件的文件头中。 如果指定了目录,那么该目录及其子目录下的所有可执行文件都将与它们的 SED 相关标志一起显示。 该标志需要对 file_namedirectory_name 的读特权。 -d 标志不能与 -m-o-c 标志一起使用。
-h 显示 sedmgr 命令的语法。
-m 如果处理器支持 SED,那么设置系统范围堆栈执行禁用方式。 对系统范围设置的任何更改都需要重新引导系统后才能生效。 该选项接受以下值之一:
全部
对请求(标记为)免除的文件之外的所有文件强制执行堆栈执行禁用。
关闭系统上的堆栈执行禁用功能。
选择 (select)
设置操作方式选择一组将被启用和被监视堆栈执行禁用的进程。 仅选择文件头中设置了“request”SED 标志的文件中的进程。
setidfiles
设置操作方式以使操作系统为设置了“request”SED 标志的文件执行 SED,并且为具有以下特征的可执行文件启用 SED:
  • 属于 root 用户的 setuid 文件。
  • 主组为 "system" 或 "security" 的 setid 文件。
已配置的 SED 属性在下一次 64 位内核引导时有效。 由于 ODM 中的 SED 属性不影响 32 位内核,SED 监视标志在这种情况下是关闭的。 如果处理器不支持 SED ,那么 sedmgr 命令将返回带有 -m 标志的错误。 -m 标志不能与 -c-d 标志一起使用。
-o 该选项启用 SED 在发生异常时监视进程而不要终止进程。 该选项允许评估可执行文件是否正在操作任何合法的堆栈执行。 此设置适用于使用 -c 选项设置的系统范围方式。 SED 监视控制标志是 ODM 中存储的系统范围 SED 设置的一部分。 更改该设置需要 root 特权。 该标志可能的值如下:
on
打开 SED 工具的监视功能。 在该方式下操作时,即使出现与 SED 相关的异常,系统也将允许进程继续操作。 操作系统将异常记录在 AIX 错误日志子系统中,而不是终止该进程。
关闭 SED 工具的监视方式。 在该方式下,操作系统终止任何违反和导致 SED 工具异常的进程。
已配置的 SED 属性在下一次 64 位内核引导时有效。 由于 ODM 中的 SED 属性不影响 32 位内核,SED 监视标志在这种情况下是关闭的。 如果处理器不支持 SED ,那么 sedmgr 命令将返回带有 -m 标志的错误。 -o 标志不能与 -c-d 标志一起使用。
None 如果未指定标志,那么 sedmgr 命令将显示与堆栈执行禁用环境相关的当前设置。 它显示内核 var 结构中的当前 SED 设置以及 ODM中的系统范围 SED 设置。

参数

描述
文件名 更改了 SED 设置的可执行文件的名称。 需要写特权。
文件组 在没有指定文件名时,指更改了 SED 设置的可执行文件的组。 需要引导特权。
目录名称 可执行文件的目录以及其 SED 检查标志与 -d 标志一起显示的可执行文件的任何子目录。

退出状态

描述
0 命令成功完成。
255 发生错误。

安全性

访问控制:此命令应该是标准用户命令并且具有可信计算库属性。

示例

  1. 要将系统范围的 SED 方式标志更改为 setidfiles ,并将 SED 控制标志更改为 on ,请输入:
    sedmgr -m setidfiles -o on
  2. 要将 plans 文件的 SED 检查标志更改为 exempt ,请输入:
    sedmgr -c exempt plans
  3. 要将标记为 TCB 文件的所有可执行文件的 SED 检查标志更改为 select ,请输入:
    sedmgr -c request TCB_files
  4. 要显示 plans 文件的 SED 检查标志,请输入:
    sedmgr -d plans

限制

审计事件: 如果已正确配置并启用审计子系统,那么 sedmgr 命令将生成以下审计记录 (事件):
事件 信息
SEDMGR_Odm 系统范围的 SED 设置。
SEDMGR_File 可执行文件头中的 SED 设置。

有关如何正确选择和分组审计事件,以及如何配置审计事件数据收集的更多详情,请参阅 "安全 "的 "审计概述"部分中的 "设置审计"。

位置

/usr/sbin/sedmgr

文件

描述
/usr/bin/tcbck 以可执行方式访问。
/usr/bin/ldedit 以可执行方式访问。