/etc/security/privcmds 文件
用途
包含特权命令的安全属性。
描述
/etc/security/privcmds 文件是一个 ASCII 节文件,其中包含特权命令及其安全性属性。 /etc/security/privcmds 文件中的每个节都由命令的完整路径名标识,后跟冒号 (:)。 每个节都包含 Attribute = Value 格式的属性。 路径名必须是命令的绝对路径,并且不能包含符号链接目录,也不能是该命令的符号链接。 每个 属性 = 值 对都以换行符结束,并且每个节都以一个附加换行符结束。 有关节的示例,请参阅 示例。
在通过 塞斯特 命令将整个特权命令数据库发送到内核安全性表之前,或者在重新引导系统之前,对 特权 文件进行的更改不会影响安全注意事项。
修改和列示 privcmds 文件中的条目
请勿直接编辑 /etc/security/privcmds 文件。 请使用以下命令和子例程来处理特权命令数据库:
- setsecattr
- 向 /etc/security/privcmds 文件中添加命令条目或更改命令条目。
- Lssecattr
- 显示属性及其值。
- Rmsecattr
- 从 特权 文件中除去命令。
要编写影响 /etc/security/privcmds 文件中的条目的程序,请使用以下一个或多个子例程:
- Getcmdattr
- 获取命令行参数
- 普特 cmdattr
- 设置命令属性
属性
此文件中的一个节包含以下一个或多个安全性属性:
| 项 | 描述 |
|---|---|
| accessauths | 将访问权限指定为以逗号分隔的权限名称列表。 允许其当前会话具有列表中其中一个权限的用户运行该命令。 您最多可以指定 16 个权限。 此属性还允许三个特殊值:
|
| authprivs | 指定在特定授权的基础上分配给进程的授权特权。 运行该命令的用户必须通过 存取器 属性获取对该命令的访问权才能启用 授权特权 属性。 对于所处理的列表中的每个权限,将授予关联的特权集。 授权和特权对的最大数目为 16。 授权及其相应的特权由等号 (=) 分隔,个别特权由加号 (+) 分隔,授权和特权对由逗号分隔,如以下行中所示:auth=priv+priv...,auth=priv+priv...,... |
| authroles | 角色或角色的列表。 必须对具有这些功能的用户进行认证,以允许执行该命令。 最多可指定十六个角色。 |
| 消息集 | 指定消息目录的文件名,该目录包含授权的单行描述。 该值是一个字符串。 |
| innateprivs | 指定在运行该命令期间分配给进程的特权的逗号分隔列表。 仅当通过访问权限对命令调用进行了授权时,才会将指定的特权分配给进程。 |
| inheritprivs | 指定传递给子进程的特权列表 (以逗号分隔)。 |
| euid | 指定在命令运行期间要采用的有效用户标识。 |
| egid | 指定在运行该命令期间要采用的有效组标识。 |
| ruid | 指定在运行命令期间要假定的真实用户标识。 |
| secflags | 指定以逗号分隔的文件安全性标志列表。 以下值是有效的:
|
安全性
Root 用户和安全组都拥有此文件。 向 root 用户授予读和写访问权。 对其他用户和组的访问权取决于系统的安全策略。
示例
命令 的以下示例显示了文件中的典型节:
/usr/bin/myprog:
accessauths = aix.security.user.create,aix.security.user.change
authprivs = aix.ras.audit=PV_AU_ADMIN
innateprivs = PV_DAC_R,PV_DAC_W
secflags = FSF_EPS此条目指示运行此命令的用户必须处于具有 存取器 属性中列出的其中一个权限的角色会话中才能运行此命令。 如果此条件为 true ,那么会将 因纳特普里夫斯 属性中列出的特权授予结果进程。 此外,如果运行此命令的用户具有 授权特权 属性中列出的其中一个特权权限,那么将向该进程授予其他关联特权。