grant
语法
grant(id, accessType, [objs])
参数
id 是表示用户名或组名的字符串。
accessType 是权限类型。包括以下9种权限:
TABLE_READ:读取指定数据表
TABLE_WRITE:写入指定数据表
DBOBJ_CREATE:在某个数据库中创建数据表
DBOBJ_DELETE:删除某个数据库中的数据表
VIEW_EXEC:执行某个视图
DB_MANAGE:创建以及删除数据库。可删除任何人所建数据库,包括具有DB_OWNER权限之用户所建数据库。
DB_OWNER:创建数据库并管理其创建的数据库,包括删除数据库、创建或删除数据表、增加或删除分区、可赋予、禁止或取消其他用户对自己创建的数据库的以下权限:TABLE_READ, TABLE_WRITE, DBOBJ_CREATE, DBOBJ_DELETE。
SCRIPT_EXEC:执行脚本
TEST_EXEC:执行测试脚本
1.30.1 新版功能: DB_OWNER 权限
objs 是表示权限类型的应用对象。若权限类型为TABLE_READ, TABLE_WRITE, DBOBJ_CREATE, DBOBJ_DELETE或VIEW_EXEC, 它是一个必需参数。若权限类型为DB_MANAGE, DB_OWNER, SCRIPT_EXEC和TEST_EXEC, 它可以省略。
详情
授予某个用户或某个群权限。该命令只能是管理员在控制器节点上执行。
例子
授予组"research"的所有成员读取所有数据库表的权限:
$ grant(`research, TABLE_READ, "*")
授予组"research"的所有成员读写表 dfs://db1/t1
的权限:
$ grant(`research, TABLE_WRITE, "dfs://db1/t1")
授予组"research"的所有成员在数据库 dfs://db1
和 dfs://db2
创建表的权限:
$ grant("research", DBOBJ_CREATE, ["dfs://db1","dfs://db2"])
授予用户"AlexSmith"创建和删除数据库的权限:
$ grant("AlexSmith", DB_MANAGE)
授予用户"AlexSmith"执行脚本的权限:
$ grant("AlexSmith", SCRIPT_EXEC)
授予用户"AlexSmith"测试脚本的权限:
$ grant("AlexSmith", TEST_EXEC)