泰安手机网站建设,深圳平湖网站建设公司,最新网络销售平台,郑州网站制作建设SinoDB用户权限是由数据库对象和操作类型两个要素组成的#xff0c;定义一个用户的权限就是定义这个用户可以对哪些数据对象进行哪些类型的操作。 SinoDB使用了三级权限来保证数据的安全性#xff0c;它们分别是数据库级权限#xff0c;表级权限和字段级权限。
1. 数据库级… SinoDB用户权限是由数据库对象和操作类型两个要素组成的定义一个用户的权限就是定义这个用户可以对哪些数据对象进行哪些类型的操作。 SinoDB使用了三级权限来保证数据的安全性它们分别是数据库级权限表级权限和字段级权限。
1. 数据库级别权限
① CONNECT 这是级别最低的一种数据库级别的用户权限。拥有该权限的用户可以执行SELETEUPDATEINSERTDELETE语句针对数据表执行存储过程创建数据表的视图创建临时表。
② RESOURCE 拥有该权限的用户除了拥有CONNECT全部权限外还可以创建新的表并可以对自己创建的表执行ALTER和DROP操作创建索引。
③ DBA 数据库的建立者和拥有者被自动授予这种权限。拥有DBA权限的用户除拥有RESOURCE全部权限外还可以对其他用户授予或解除CONNECTRESOURCEDBA权限可以对所有数据库对象进行操作。
语法
GRANT 权限 TO 用户名[用户名];
REVOKE 权限 FROM 用户名[用户名];2. 表级与字段级权限
① INSERT可以向表中增加新数据。② DELETE可以删除表中数据。③ SELECT可以查询表中记录可扩展到字段。④ UPDATE可以修改表中记录可扩展到字段。⑤ REFERENCES可以制定指定约束条件可扩展到字段。⑥ INDEX可以建立或删除索引。⑦ ALTER可以改变表结构。⑧ ALL包括以上所有权限。
语法
GRANT 权限[权限] [字段名[字段名]] ON 表名 TO 用户名[用户名]
REVOKE 权限[权限] [字段名[字段名]] ON 表名 FROM 用户名[用户名]
3.用户授权演示
示例1创建系统级别用户sino,并授予testdb数据库的connect/resource权限。
1、root用户登陆shell创建操作系统用户sino.
useradd -g informix -d /home/sino -s /bin/bash -m sino2、用informix用户dbaccess登录相应数据库给sino用户赋权。
su - informix
dbaccess testdb -
grant connect to sino;
grant resource to sino;3、切换sino用户登录数据库 使数据库环境变量生效即可访问数据库
su - sino
source /home/informix/.bash_profile
dbaccess testdb -
示例2创建系统级别用户sinocx只授予testdb数据库下表t_employee字段f_employeeid与f_employeename的查询权限。
1、 testdb数据库下有表t_employee 如下
create table “informix”.t_employee
(
f_employeeid integer,
f_deptid integer,
f_employeename varchar(50),
f_salary money(16,2)
);2、root用户登陆shell创建操作系统用户sinocx
useradd -g informix -d /home/sinocx -s /bin/bash -m sinocx3、用informix用户dbaccess登录相应数据库给sinocx用户赋权。
su - informix
dbaccess testdb -
grant connect to sinocx;4、切换sinocx用户登录数据库 使数据库环境变量生效即可访问数据库
su - sinocx
source /home/informix/.bash_profile
dbaccess testdb -此时sinocx用户对表具有执行select、insert、update和delete语句的权限。5.回收系统默认赋予public的all权限只授予sinocx用户表t_employee(f_employeeid,f_employeename)的查询权限。
revoke all on t_employee from public;
grant select (f_employeeid,f_employeename) on t_employee to sinocx;6.此时使用sinocx用户去查询/插入t_employee表显示结果如下 select * from t_employee;f_employeeid f_employeename 1 Tom 2 Jack 3 Mary 4 Henry 5 Rose 6 Bill 7 Kate 8 Bob 9 Will 10 Judy 10 row(s) retrieved. insert into t_employee (f_employeeid,f_employeename) values(11,Ryan);275: The Insert privilege is required for this operation.
Error in line 1
Near character position 24更多信息内容请移步星瑞格官方社区期待大家加入
Sinoregal Tech ForumAsk questions, share solutions, and get to know the Sinoregal community.https://forum.sinoregal.cn/欢迎大家进群交流星瑞格技术交流群