我想创建一个用户,他将查看所有用户配置文件和组配置文件,但不应该访问AS400机器上的更改或删除任何内容。
为了实现这一点,我创建了具有以下权限的用户-
User class - *SECADM
Special Authority - *ALLOBJ, *SECADM.
通过创建这种类型的用户,我们可以实现对此的只读访问。IBMi版本-V7R1和V7R2
我的主要要求是创建一个权限非常低的用户,这意味着他只能从IBMi机器上读取数据,而不能更改任何内容。
如果有人对此有任何想法,请分享。
*ALLOBJ
是IBM i上一个非常强大的特殊权限,允许用户更改或删除IBM i上的几乎所有内容。
来自IBM i安全手册(v7.3):
风险:*ALLOBJ特殊权限赋予用户对系统上所有资源的广泛权限。用户可以查看、更改或删除任何对象。用户还可以向其他用户授予使用对象的权限。
*SECADM
是IBMi上一个非常特殊的权限,它允许用户创建、更改和删除用户配置文件。可能不是你希望普通用户能够做的事情。应该严格控制。
用户类不再是毫无意义的,因为它只控制菜单访问。在AS400通常是一个独立系统或仅与其他AS400联网的时代,基于菜单的权限非常有用。
注意:我在这里使用AS400,因为它是当时整个系统(硬件和操作系统)的名称,目前在新硬件上的命名很复杂,但IBM I是以前称为OS/400 的操作系统的名称
正如user2338816在其评论中指出的那样,解决问题的一种方法是创建一个CL程序MYGETUSER
,该程序包含一个命令DSPUSRPRF
或RTVUSRPRF
,具体取决于您要对信息执行的操作。如果您希望通过命令在屏幕上显示所有用户配置文件信息,请使用DSPUSRPRF
。如果要检索调用程序的特定用户配置文件属性,请使用RTVUSRPRF
。您的CL程序MYGETUSER
需要使用USRPRF(*OWNER)
进行编译,并且它必须由对您想要显示的所有用户配置文件具有*READ
权限的用户配置文件所有。您可以在授权列表中收集这些用户配置文件,以避免为所有内容分配私人权限。现在,您可以将*USE
权限分配给CL程序MYGETUSER
,供任何需要查看用户配置文件或CL程序显示的用户配置文件属性的用户使用。
注意:请确保仅为CL程序的所有者分配最低权限,以获取您需要的信息,并仅将访问该程序的权限授予需要的用户。
可能,也取决于对象。如果他们对对象没有对象权限,他们就无法访问它。你必须GRTOBJAUT。