- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
有关数据库的权限 存储在数据库中的数据对于一个商务活动来说是非常重要的。不仅要通过备份和制作日志来保证数据的不丢失,还要通过设置不同的访问权限来防止来自用户的善意的或恶意的破坏。一个公司不可能总是使用一个完全独立的数据库系统来保存雇员的工资信息。工资信息可能是与是保存在通常的数据库中,这样你就不需要两台机器和两个数据库服务软件包。即使你在一台服务中使用了两个完全独立的数据库,针对每个用户确定其访问数据库、数据表以及数据字段的权限还是很必要的。 而目前众多的数据库管理系统总是更习惯于将用户权限的管理完全交给Application来完成。而真正操作数据库的往往是诸如DBA这样的拥有超级权限的数据库用户。我不能说这样的系统就一定会出安全性问题,但是至少这种做法会带来有关安全性的隐患。对于数据库用户权限的设置,绝大多数成熟的数据库都提供了一种大同小异的做法。我们这里以Informix为例,仅仅是因为我在使用Informix时发现网上对于Informix的用户权限设置缺少详实的资料。希望这份文档能对Informix的应用者有所帮助(尽管现在Informix的市场占有率是出奇的低。) 有关我们的系统 我们使用的数据库数据服务器上的操作系统是SCO UNIX 5.05,数据库选用Informix 7.3。由于选用操作系统和数据库的不同,以下的操作可能会用细微的差别。 创建新用户 在我们使用的平台上,Informix的数据库用户对应于UNIX的系统用户,因此创建新用户的过程也就是创建UNIX系统用户的过程,我们可以用root登录后使用如下命令创建三个新的用户: #useradd mydba #useradd myuser1 #useradd myuser2 然后使用passwd给这三个用户设置相应的口令,我们可以看到由于我们的useradd命令没有采用完整的格式,因此这三个用户并不能真正用来登录到我们的UNIX主机,而只能作为数据库用户来使用。 数据库级别的用户权限 对于所有的有权使用(这里的有权使用可能意味着该用户只能浏览该数据库中某一数据表的某一字段)该数据库的数据库用户都必须赋予其数据库级别的用户权限。在Informix中,数据库级别的用户权限有三种,按权限的大小依次是connect、resource和DBA。 Connect 这是级别最低的一种数据库级别的用户权限。拥有该权限的用户可以执行select、insert、update和delete语句,针对数据表执行存储过程,创建数据表的视图,创建临时表(这样的临时表可以有索引,也可以没有索引)。 Resource 拥有该权限的用户除拥有connect的全部权限以外,他还可以创建新的表,并可以对它自己所创建的表执行alter和drop操作,并可以对这些表创建索引。 DBA 数据库的建立者和拥有者被自动赋予这种权限。拥有该权限的用户除拥有resource的全部权限以外,他还可以对其他用户赋予或解除connect、resource和DBA权限,可以对其它用户创建的表的视图执行drop和alter操作。甚至他还可以对数据库执行drop、start、stop和recover操作。 新数据库的建立并为各用户赋予相应的数据库级别的权限 使用有权登录到UNIX主机的用户创建一个新的数据库(create database databasename命令)。如上所述,现在该用户将对新创建的databasename数据库拥有DBA的权限。连接到这个库后,采用GRANT命令可以对其它用户赋予相应的数据库级别的权限。(事实上这是一个真正意义上的超级用户,换言之也是最危险的用户,在我们下面赋予了mydba以该表的DBA权限以后,我们将不再使用这个用户)。 赋予用户相应的数据库级别的权限的格式是: GRANT 权限 TO 用户名[,用户名] 于是,我们可以使用下面的三个命令给我们新创建的用户赋予相应的数据库级别的权限。 GRANT DBA TO mydba;/*赋予mydba以DBA的权限*/ GRANT CONNECT TO myuser1,myuser2;/*赋予myuser1,myuser2以CONNECT的权限*/ 在这里,我们有必要介绍一个特殊的用户public,如果使用GRANT ... TO PUBLIC,这将意味着赋予所有用户某种权限,当然,这种做法也许并不可取。 用户数据库级别权限的解除 解除用户相应的数据库级别的权限的格式是: REVOKE 权限 FROM 用户名[,
文档评论(0)