settxattr 命令

用途

设置安全属性。

语法

settxattr{-f | -m|-p|-q|-s}属性=... 姓名

描述

settxattr命令用于设置由Name参数指定的文件、进程、共享内存、消息队列或 semaphore 的TrustedAIX®安全属性。 该命令解释了 Name 参数是代表一个文件、进程、共享内存、消息队列,还是信号量,这取决于是否指定以下标志:-f(文件)、-p(进程)、-m(共享内存)、-q(消息队列)或 -s(信号量)。

要设置属性的值,请用 Attribute=Value 参数指定属性名称及新值。 向文件系统对象的文件系统扩展属性(EA)以及进程的用户凭证应用所有属性。

标志

描述
-f 指定文件的安全属性。 Name 参数指定到达系统中该文件的路径。
-p 指定进程的安全属性。 Name 参数指定系统上活动进程的数字进程标识 (PID)。 通过 Attribute=Value 对请求的更改将立刻影响指定活动进程的状态。
-M 指定共享内存的安全属性。 Name 参数指定系统中的数字共享内存标识。
-q 指定消息队列的安全属性。 Name 参数指定系统中的数字消息队列标识。
-s 指定信号量的安全属性。 Name 参数指定系统中的数字信号量标识。

参数

描述
属性= 指定了对象的安全属性值。 有效属性名称列表取决于使用 -f-m-p-q-s 标志指定的对象类型。
对于标志(-f),使用以下文件安全属性:
sl
指定灵敏度标签(SL)。 指定常规文件的 SL 以应用标签。 该属性对目录、设备或终端设备(TTY)无效。
maxsl
指定最大灵敏度标签。 您指定的该属性值必须能大于现有的最小灵敏度标签。 该属性仅对目录、设备及 TTY 有效。
minsl
指定最小灵敏度标签。 您指定的该属性值必须小于现有的最大灵敏度标签。 该属性仅对目录、设备及 TTY 有效。
tl
指定完整性标签。 指定该属性,将标签应用于文件。
secflags
指定可信AIX文件安全标记。 以逗号分隔,指定该属性的安全标志列表。 您可以指定以下标志:
  • FSF_APPEND
  • FSF_AUDIT
  • FSF_MAC_EXMPT
  • FSF_TLIB
  • FSF_TLIB_PROC
对于 -p 标志,使用以下进程安全属性:
effsl
有效灵敏度标签。 指定该属性,将标签应用于活动的进程。 effsl 属性必须大于现有的最小灵敏度标签。
maxcl
最大灵敏度清除标签。 指定该属性,将标签应用于活动的进程。 maxsl 属性必须大于现有的有效灵敏度标签。
mincl
最小灵敏度清除标签。 指定该属性,将标签应用于活动的进程。 mincl 属性必须小于现有的有效灵敏度标签。
efftl
有效完整性标签。 指定该属性,将标签应用于活动的进程。 efftl 属性必须大于现有的最小完整性标签。
maxtl
最大完整性标签指定该属性,将标签应用于活动的进程。 maxtl 属性必须大于现有的有效完整性标签。
mintl
最小完整性标签。 指定该属性,将标签应用于活动的进程。 mintl 属性必须小于现有的有效完整性标签。
对于消息队列(-q)标志、共享内存(-m)标志及信号量(-s)标志,使用以下安全属性:
sl
指定灵敏度标签(SL)。 指定该属性,将标签应用于消息队列、共享内存或信号量对象。
tl
指定完整性标签(TL)。 指定该属性,将标签应用于消息队列、共享内存或信号量对象。

安全性

settxattr 命令为特权命令。 root 用户及安全组可将方式设置为 755 来使用该命令。 要成功运行该命令,用户必须至少拥有一个以下授权:

描述
aix.mls.label.sl.upgrade 要求分配一个比现有文件系统对象的 SL 高的 SL。
aix.mls.label.tl.upgrade 要求分配一个比现有文件系统对象的 TL 高的 TL。
aix.mls.label.sl.downgrade 要求分配一个比现有文件系统对象的 SL 低的 SL。
aix.mls.label.tl.downgrade 要求分配一个比现有文件系统对象的 TL 低的 TL。
aix.mls.proc.sl.upgrade 要求分配一个比进程的现有有效 SL 高的有效 SL。
aix.mls.proc.tl.upgrade 要求分配一个比进程的现有有效 TL 高的有效 TL。
aix.mls.proc.sl.downgrade 要求分配一个比进程的现有有效 SL 低的有效 SL。
aix.mls.proc.tl.downgrade 要求分配一个比进程的现有有效 TL 低的有效 TL。
aix.mls.label.outsideaccred 要求在认可范围外分配标签。

文件已访问:

描述
方式 文件
R /etc/security/enc/LabelEncodings

示例

  1. 要将标签应用于名为 regfile 的常规文件,请输入以下命令:
    settxattr –f sl=SECRET tl=SECRET regfile
  2. 要将标签应用于名为 dirname 的目录,请输入以下命令:
    settxattr –f maxsl=”TS ALL” minsl=”SEC ALL” tl=TS dirname
  3. 要将标签应用于消息队列标识为 0 的消息队列 IPC 对象,请输入以下命令:
    settxattr –q sl=SECRET tl=SECRET 0
  4. 要将标签应用于共享内存标识为 3145728 的共享内存 IPC 对象,请输入以下命令:
    settxattr –m sl=SECRET tl=SECRET 3145728
  5. 要将标签应用于有这 3 个共享内存标识的信号量 IPC 对象,请输入以下命令:
    settxattr –s sl=SECRET tl=SECRET 3