可将组视为拥有特殊权限(如可以具有成员)的用户 ID。授予和撤消组权限和特权的方式与对用户的处理方式完全相同。
您可以构建若干个组的层次,其中每个组都是另一个组的成员。无论成员是用户还是组,其都会继承父组的特权和权限。每个用户 ID 可以属于多个组;用户与组的关系是多对多的关系。
正如同用户一样,您可以在表、视图或过程中授予或撤消组权限。当您如此操作时,组的所有成员均会继承更改。
您可以创建没有口令的组,这样可防止用户使用组用户 ID 连接到数据库。请参见没有口令的组。
要管理组的特权和权限,请执行与管理用户的权限和特权相同的过程。请参见管理用户权限和特权概述。
要管理组的远程权限,请参见授予和撤消远程权限。
除了授予权限(GRANT ...WITH GRANT OPTION 语句)外,用户和组均继承其所在组的全部权限。
组成员可以只继承其所属组的以下特权集。
在以下示例中创建了两个组:group1 和 group2。还创建了一个用户 bobsmith 并赋予其在两个组中的成员资格。此外,又创建了一个表 table1,并赋予 group2 对该新表的 SELECT 和 INSERT 权限。
GRANT CONNECT, GROUP TO group1; GRANT CONNECT, GROUP TO group2; GRANT CONNECT TO bobsmith IDENTIFIED BY sql; GRANT MEMBERSHIP IN GROUP group1 TO bobsmith; GRANT MEMBERSHIP IN GROUP group2 TO bobsmith; CREATE TABLE DBA.table1( column1 INT, modified_by VARCHAR(128) DEFAULT USER ); GRANT SELECT, INSERT ON DBA.table1 TO group2; |
因为 bobsmith 是 group2 的成员,所以他继承了对 table1 的选择和插入权限,可插入如下所示的值:
CONNECT USER bobsmith IDENTIFIED BY sql; INSERT INTO DBA.table1(column1) VALUES(1); |
创建组
将组成员资格授予现有的用户或组
撤消组成员资格
组的权限和特权
引用组拥有的表
没有口令的组
特殊组
从数据库删除组
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |