settxattr 命令
用途
设置安全属性。
语法
描述
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),使用以下文件安全属性:
对于 -p 标志,使用以下进程安全属性:
对于消息队列(-q)标志、共享内存(-m)标志及信号量(-s)标志,使用以下安全属性:
|
安全性
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 |
示例
- 要将标签应用于名为
regfile的常规文件,请输入以下命令:settxattr –f sl=SECRET tl=SECRET regfile - 要将标签应用于名为
dirname的目录,请输入以下命令:settxattr –f maxsl=”TS ALL” minsl=”SEC ALL” tl=TS dirname - 要将标签应用于消息队列标识为
0的消息队列 IPC 对象,请输入以下命令:settxattr –q sl=SECRET tl=SECRET 0 - 要将标签应用于共享内存标识为
3145728的共享内存 IPC 对象,请输入以下命令:settxattr –m sl=SECRET tl=SECRET 3145728 - 要将标签应用于有这 3 个共享内存标识的信号量 IPC 对象,请输入以下命令:
settxattr –s sl=SECRET tl=SECRET 3