Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Permissions 架构中新对象的默认权限_Permissions_Db2_Database Schema_Ibm Midrange - Fatal编程技术网

Permissions 架构中新对象的默认权限

Permissions 架构中新对象的默认权限,permissions,db2,database-schema,ibm-midrange,Permissions,Db2,Database Schema,Ibm Midrange,我正在开发一个名为S的模式(库)上的db2fori数据库(又称DB2/400) 在模式S中,我使用用户A创建数据库表、过程等。我还需要用户B拥有这些新对象的所有权限。所以我将所有权限授予模式S上的用户A和B。但新对象不会继承它们 所以我尝试了许多配置:在SystemiNavigator上,我使用授权列表,在模式S的权限对话框上单击“新建对象”按钮。。。但什么都没用 如何设置默认权限类型,以便由在我的架构中创建的新对象自动继承? 我所知道的唯一可行的替代方法是每次创建对象时都要记住向用户B授予特权

我正在开发一个名为S的模式(库)上的db2fori数据库(又称DB2/400)

在模式S中,我使用用户A创建数据库表、过程等。我还需要用户B拥有这些新对象的所有权限。所以我将所有权限授予模式S上的用户A和B。但新对象不会继承它们

所以我尝试了许多配置:在SystemiNavigator上,我使用授权列表,在模式S的权限对话框上单击“新建对象”按钮。。。但什么都没用

如何设置默认权限类型,以便由在我的架构中创建的新对象自动继承?


我所知道的唯一可行的替代方法是每次创建对象时都要记住向用户B授予
特权。不太聪明…

安全是一个大话题。它通常由管理员处理;知道更改库权限的更大后果的人

<>有几个相关的设置要考虑。由于您试图保护单个对象的安全,您可能通过将QSECURITY设置为*EXCLUDE或将库的CRTAUT更改为*EXCLUDE来限制公共权限

如果希望库中所有新创建的对象具有相同的权限,请考虑授权列表。我知道你说你玩了wuth授权列表,但你没有说明你做了什么

创建授权列表。授权用户A和B进入授权列表。CHGLIB myschema CRTAUT(myautl)。现在myschema中的每个对象都将具有相同的权限。

我有IBMi7.1

若我使用5250 emulator在STRSQL内部创建表,它可以工作,继承模式授权列表

如果我使用iSeries Navigator V5R4M0(右键单击Tables>New>table,或者使用cwbundbs.exe)创建表,它将不起作用。授权列表未被继承

所以这似乎是iSeries Navigator中的一个bug。如果这个问题已经解决,也许有人可以用更新版本的软件来确认我们


完整详细信息在。

中没有“默认权限”。您必须为每个新对象明确授予特权。谢谢!这就是我尝试的(
CHGLIB LIB(MYLIB)CRTAUT(MYAUTLIST)
),但是,当我在MYLIB中创建新表时,它无法从MYAUTLIST获得权限。这很奇怪…EDTOBJAUT MYLIB/MYFILE*FILE你看到了什么*PUBLIC-我看到了*AUTL.OK,做一个DSPLIB MYLIB。您看到的“创建权限”(左上角)是什么?我明白了,操作系统正在按预期做每件事。EDTOBJAUT MYAUTL*AUTL用户A和B都在那里,并且被授予了您想要的权限?什么是公共的?用户是否是组配置文件的一部分?补充资料?再次感谢<代码>EDTOBJAUT MYAUTL*AUTL
表示:*公共:*排除,A:*全部,B:*全部。A和B属于同一组配置文件。A有“用户类”
*SECOFR
,B有
*PGMR
。检查iSeries Navigator内的连接,当*服务器提供所需结果时,它可能正在使用*SQL。别碰运气。更好的做法是在创建表时专门授予和撤销权限。@danny117谢谢,您能指定此设置的位置吗?您可以启动运行sql脚本。然后在脚本窗口中。选择connection/jdbc settins。然后在“格式”选项卡上,可以将命名约定更改为*sys。。我希望这对你有用。