使用 wsadmin 工具移除授权数据

使用下列命令来移除缺省角色的授权数据或者目标或外部总线的授权数据。

要运行这些命令,请使用 wsadmin 脚本编制客户机的 AdminTask 对象。 每个命令都通过一项操作来处理多个对象。 直接修改底层对象容易产生错误,而提供的这些命令允许您以一致方式执行通常最需要的更新。

[IBM i][IBM i]wsadmin 脚本编制客户机从 Qshell 运行

为服务集成总线的命令提供了命令行帮助:
  • 要获取 Jython 中可用服务集成总线安全性命令的列表以及每个命令的简短描述,请在 wsadmin 提示符处输入以下命令:

    print AdminTask.help('SIBAdminBusSecurityCommands')

  • 有关特定命令的概述帮助,请在 wsadmin 提示符处输入以下命令:

    print AdminTask.help('command_name')

使用该命令后,使用以下命令将更改保存到主配置。

AdminConfig.save()

命令

移除缺省授权数据
要从缺省值中的每个角色(发送方和接收方等等)中移除所有用户和组,请使用以下命令:
  • 使用 Jython:
    AdminTask.removeDefaultRoles("-bus busname")
    
  • 使用 Jacl:
    $AdminTask removeDefaultRoles {-bus busname}
    
移除目标的所有授权数据
要删除目标的所有授权数据,请使用以下命令:
  • 使用 Jython:
    AdminTask.removeDestinationRoles("-type destinationType -bus busname
     -foreignBus foreignBusName -destination destinationName")
    
  • 使用 Jacl:
    AdminTask.removeDestinationRoles("-type destinationType -bus busname
     -foreignBus foreignBusName -destination destinationName")
    
注:
  • 此命令删除指定目标的所有授权数据。 如果目标是主题空间,那么此命令将移除虚拟根的所有授权数据、该主题空间中的主题的所有授权数据以及该主题空间本身的所有授权数据。
  • 如果要删除目标并且想要移除所有关联许可权,或者要通过移除所有对应目标的许可权来阻止对目标的所有访问,那么可使用此命令。 在第二种情况下,如果用户已被授予缺省许可权,那么他们可能仍能够访问该目标。 如果指定了缺省授权许可权,并且要阻止对目标的所有访问,那么必须使用命令 setInheritDefaultsForDestinations 停止继承缺省许可权的目标 (请参阅 使用 wsadmin 工具定义目标缺省继承)。 首先应该使用 removeDestinationRoles 命令,接着使用 setInheritDefaultsForDestinations 命令。
移除外部总线的所有授权数据
要删除指定的外部总线的所有权限数据,请使用以下命令:
  • 使用 Jython:
    AdminTask.removeForeignBusRoles("-bus busname
     -foreignBus foreignBusName")
    
  • 使用 Jacl:
    $AdminTask removeForeignBusRoles {-bus busname
     -foreignBus foreignBusName}
    

使用这些命令后,将所作的更改保存至主配置;例如,通过使用以下命令:

AdminConfig.save()