setsecattr 命令
用途
设置命令、设备、特权文件、进程或域指派对象的安全属性。
语法
塞塞卡特 [-R load_module]{ -c | -d | -p | -f | -o} 属性 = 值 [ 属性 = 值 ...] 名称
描述
setsecattr 命令设置 Name 参数指定的命令、设备或进程的安全属性。 此命令将 Name 参数视为命令、设备、特权文件或进程,这取决于是否指定了下列标志:-c(命令)、-d(设备)、-f(特权文件)或 -p(进程)。
如果将系统配置成 Name 参数所指定的下列其中一个值,系统将按 /etc/nscontrol.conf 文件中相应数据库节的 secorder 属性指定的顺序执行:
- 使用多个域中的数据库
- 设置特权命令的安全属性
- 设置特权设备的安全属性
- 设置特权文件的安全属性
- 设置域指派对象的安全属性
仅修改第一个匹配条目。 其他域的复制条目将不会被修改。 使用 -R 标志修改指定域的条目。 如果在任何域中都找不到匹配的条目,将在第一个域中创建一个新的 Name 参数条目。 使用 -R 标志向指定的域中添加条目。
要设置属性的值,请用 Attribute=Value 参数指定属性名称及新值。 要清除属性,请为 Attribute = Value 对指定 Attribute= 。 要对列出其值的属性进行递增更改,请将 Attribute=Value 对指定为 Attribute=+Value 或 Attribute=-Value。 如果指定为 Attribute=+Value,属性的值将从现有值开始递增。 如果指定为 Attribute=-Value,属性的值将从现有值除去。
标志
| 项 | 描述 |
|---|---|
| -c | 指定系统中待设置命令的安全属性。 如果您使用 Name 参数指定的命令名称不在特权命令数据库中,将在 /etc/security/privcmds 特权命令数据库中创建该命令条目。 如果将要清除某个属性,并且此属性是对该命令设置的唯一属性,那么还将从特权命令数据库中除去该命令。 直到使用 setkst 命令将该数据库发送到内核安全表之后,才会使用对特权命令数据库所作的修改。 |
| -d | 指定系统中待设置设备的安全属性。 如果您使用 Name 参数指定的设备名称不在特权设备数据库中,将在 /etc/security/privdevs 特权设备数据库中创建该设备条目。 如果将要清除某个属性,并且此属性是对该设备设置的唯一属性,那么还将从特权设备数据库中除去该设备。 直到使用 setkst 命令将该数据库发送到内核安全表之后,才会使用对特权设备数据库所作的修改。 |
| -f | 指定系统中待设置特权文件的安全属性。 通过 Attribute=Value 对请求的更改将在 /etc/security/privfiles 特权文件数据库中执行。 如果指定的文件不在特权文件数据库中,将在数据库中创建该文件条目。 如果将要清除某个属性,并且此属性是对该命令设置的唯一属性,那么还将从特权文件数据库中除去该命令。 |
| -O | 指定系统中将要设置的对象安全属性。 如果您使用 Name
参数指定的对象名不在域对象数据库中,那么将在 /etc/security/domobjs
域对象数据库中创建对象条目。 如果将要清除某个属性,并且此属性是对该对象设置的唯一属性,那么还将从域对象数据库中除去该对象条目。 直到使用 setkst 命令将该数据库发送到内核安全表之后,才会使用对域对象数据库所作的修改。 |
| -p | 指定系统中待设置活动进程的数字进程标识 (PID)。 使用 Attribute=Value 对指定的更改将立刻影响指定活动进程的状态。 但数据库中不保存此次修改。 |
| -R 加载模块 | 指定安全属性修改要使用的可安装模块。 |
参数
| 项 | 描述 |
|---|---|
| 属性 = 值 | 设置对象的安全属性值。 有效属性名称列表取决于使用
-c、-d、-p 和 -o 标志指定的对象类型。 对于特权命令数据库标志(-c),请使用下列属性:
|
|
|
对于特权设备数据库标志(-d),请使用下列属性:
|
|
对于特权文件标志(-f),请使用下列属性:
对于特权进程标志(-p),请使用下列属性:
|
|
对于域指派对象数据库标志 (-o),请使用下列属性:
|
|
| 名称 | 指定要修改的对象。 Name 参数的解释取决于您指定的标志。 一次只能指明一个名称进行处理。 |
安全性
setsecattr 命令为特权命令。 root 用户及安全组可将方式设置为 755 来使用该命令。 要成功运行该命令,您必须已经作为一个至少拥有以下授权的角色: 对于可信进程,审计系统将不会为各个进程记录任何对象审计事件。 但是,用户可以使用事件审计来捕获事件。
| 项 | 描述 |
|---|---|
| aix.security.cmd.set | 必须拥有此权限才能使用 -c 标志来修改命令属性。 |
| aix.security.device.set | 必须拥有此权限才能使用 -d 标志来修改设备属性。 |
| aix.security.file.set | 必须拥有此权限才能使用 -f 标志来修改设备属性。 |
| aix.security.proc.set | 必须拥有此权限才能使用 -p 标志来修改进程属性。 |
| aix.security.dobject.set | 必须拥有此权限才能使用 -o 标志来修改进程属性。 |
访问的文件
| 项 | 描述 |
|---|---|
| 文件 | 方式 |
| /etc/security/privcmds | rw |
| /etc/security/privdevs | rw |
| /etc/security/privfiles | rw |
| /etc/security/domobjs | rw |
示例
- 要设置授权特权对,请执行以下操作:/usr/sbin/mount命令,请输入以下命令:
setsecattr -c authprivs=aix.fs.manage.mount=PV_FS_MOUNT /usr/sbin/mount - 以递增方式将 PV_AU_WRITE 和 PV_DAC_W 特权添加到现有写特权集/dev/mydev设备,请输入以下命令:
setsecattr -d writeprivs=+PV_AU_WRITE,PV_DAC_W /dev/mydev - 要为 /etc/security/user 文件设置读取授权,请输入以下命令:
setsecattr -f readauths=aix.security.user.change /etc/security/user - 要从活动进程的有效特权集中逐次移除 PV_DAC_R 特权,请输入以下命令:
setsecattr -p eprivs=-PV_DAC_R 35875 - 要设置访问权限,/usr/sbin/mount在 LDAP 中输入以下命令:
setsecattr -R LDAP -c accessauths=aix.fs.manage.mount /usr/sbin/mount - 要对网络接口 en0 设置域,请输入以下命令:
setsecattr –o domains=INTRANET,APPLICATION conflictsets=INTERNET objtype=netint secflags=FSF_DOM_ANY en0