GBase 8s的用户分为:
操作系统用户 :
GBase 8s可以使用操作系统的一个用户,在授权后访问数据库。
数据库内部用户(类似ORACLE USER):
使用数据库内部一个用户进行访问。
内部用户需要使用一个操作系统用户做为代理。
可以创建一个默认用户,简化用户用户的创建。
操作系统用户:直接在Linux操作系统创建用户
useradd [options] <user_name>
userdel [options] <user_name>
内部用户:
GBase 8s的内部用户默认为不允许使用。如果需要使用GBase 8s的内部用户,需要修改相应参数配置,并使之生效。
配置onconfig中的USERMAPPING参数,允许使用内部用户访问GBase 8s。
onconfig 文件默认位于 GBS_DATA/conf/ 目录中。
ONCONFIG 环境变量指定 onconfig 文件的名称和位置
使用 onstat -c 命令 查看onconfig 内容。或者:
[gbasedbt@evansgbase~]$ cat onconfig.gbaseserver | grep USERMAPPING
# USERMAPPING - Control access to GBase for users without operating
USERMAPPING ADMIN
当该参数为OFF时,不允许使用内部用户访问GBase 8s。如下:
####################################################################
# USERMAPPING - Control access to GBase for users without operating
# system accounts.
####################################################################
# OFF - users without operating system accounts cannot use GBase
# BASIC - users without operating system accounts can use GBase but
# not as privileged users
# ADMIN - users without operating system accounts can use GBase as
# privileged users
####################################################################USERMAPPING ADMIN
配置操作系统代理用户
GBase 8s代理用户的配置文件,保存在/etc/gbasedbt/allowed.surrogates中。
该配置文件配置代理的用户和组。多个用户和组信息,用逗号分隔。用户配置信息以users关键字和冒号开头,组配置信息以groups关键字和冒号开头。如下:
[gbasedbt@evansgbase~]$ cat /etc/gbasedbt/allowed.surrogates
users:daemon,gbaseconn
groups:daemon,gbaseconn
[gbasedbt@evansgbase ~]$
如果没有可以如下创建:
[root@evansgbase~]# useradd gbaseconn
[root@evansgbase~]# passwd gbaseconn GBase_8s[root@evansgbase~]# cd /etc
[root@evansgbase~]# mkdir gbasedbt
[root@evansgbase~]# cd gbasedbt/
[root@evansgbase~]# pwd
[root@evansgbase~]# /etc/gbasedbt
[root@evansgbase~]# cp /home/gbasedbt/gbase8s/etc/allowed.surrogates.demo ./allowed.surrogates
[root@evansgbase]# ls
allowed.surrogates[root@evansgbase~]#vi allowed.surrogates
USER:gbaseconn
group:gbaseconn[root@evansgbase~]#chown -R root:gbasedbt /etc/gbasedbt
[root@evansgbase~]#chmod 755 /etc/gbasedbt[root@evansgbase~]#cd gbasedbt
[root@evansgbase~]#chmod 644 allowed.surrogates
[gbasedbt@evansgbase~]$onmode -cache surrogates
Entries in the surrogates file /etc/gbasedbt/allowed.surrogates are loaded into surrogate cache.
牢记配置信息修改不会立即生效,需要数据库管理员更新配置信息。可以通过重启数据库更新信息,也可以通过onmode命令更新该信息。
[gbasedbt@evansgbase~]$ onmode -cache surrogates
配置默认用户
[gbasedbt@evansgbase~]$ dbaccess sysuser - -
>create default user with properties user "gbaseconn";
创建内部用户(以默认用户属性为模板)
[gbasedbt@evansgbase~]$ dbaccess sysuser - -
>create user usearch with password "GBase_8s" properties user "gbaseconn";
user created.
[gbasedbt@evansgbase~]$ echo " grant dba to usearch ;" | dbaccess usearch -
[gbasedbt@evansgbase~]$ echo " grant connect to usearch ;" | dbaccess usearch -
[gbasedbt@evansgbase~]$ echo " grant resource to usearch ;" | dbaccess usearch -
创建内部用户(独立属性)
[gbasedbt@evansgbase~]$ dbaccess sysuser - -
>create user user_arch with password 'GBBase_8s' properties uid 1002 group(1002) home '/home/gbaseconn';
权限分类说明
GBase 8s的权限分为数据库权限和表权限。
| 权限名称 | 说明 |
| CONNECT | 级别最低的一种数据库级别的用户权限。拥有该权限的用户可以执行SELETE ,UPDATE,INSERT,DELETE语句,针对数据表执行存储过程,创建数据表的视图,创建临时表。 |
| RESOURCE | 拥有该权限的用户除了拥有CONNECT全部权限外,还可以创建新的表,并可以对自己创建的表执行ALTER和DROP操作,创建索引。 |
| DBA | 数据库的建立者和拥有者被自动授予这种权限。拥有DBA权限的用户除拥有RESOURCE全部权限外,还可以对其他用户授予或解除CONNECT,RESOURCE,DBA权限,可以对所有数据库对象进行操作。 |
ALTER USER 语句
ALTER USER 语句更改用户的一个或多个属性,包括密码、用户 ID 、代理组、管理权限和主目录、启用或禁用内部已经授权用户的账户或缺省的内部已授权的用户。
该语句是 SQL 语言的 ANSI/ISO 标准的扩展。
编辑
编辑
用法
只有 DBSA 才能运行 ALTER USER 语句。在非 root 安装中,安装服务器的用户等同于DBSA ,除非该用户将 DBSA 权限委托给另一个用户。
必须在 CREATE USER 语句创建用户之前将 USERMAPPING 配置参数值设置为一个启用支持用户的值( ADMIN 或 BASIC),如此才能连接该数据库服务器 。
必须将 USERMAPPING 配置参数设置为 ADMIN 才能启用 AUTHORIZATION 子句。有关此不推荐使用语法的更多信息,请参阅 AUTHORIZATION 子句中 CREATE USER 语句( UNIX、
Linux) 的描述。
您还必须在 sysusers 数据库的 SYSUSERMAP 表中输入值以用合适的属性用户,以致于该用户的 SQL 语句可以正确工作。
如果用户使用可插入式身份验证 ( PAM)或单点登录( SSO)对用户进行身份验证,则用户可以使用代理用户属性连接 GBase 8s 。
如果用户使用可插入身份验证模块对用户进行身份验证,则用户可以使用代理用户属性连接GBase 8s 。
最好的练习是将 user 到指定 surrog_user,这样作为代理用户身份被保留。您可以使用GROUP 关键字添加与代理用户身份相关联的组,使用 HMOE 关键字更改主目录,
ALTER USER 语句不会影响任何活动的具有相同的代理用户或用户 ID 的操作。只会影响需要身份验证的子操作。
如果用户没有密码, ALTER USER 语句可以使用 ADD 关键字为用户添加密码。要更改现有的密码,请在 ALTER USER 语句中使用 MODIFY 选项。
ALTER USER 操作之后的组的总数不能超过 16 个,是允许的组的最大数量。
如果主目录不存在, ALTER USER 语句仅能使用 ADD 关键字添加主目录。要更改现有主目录,请使用 MODIFY 关键字。
在一个单独的 ALTER USER 语句中,属性只能指定一次。例如,您不能在同一语句中删除GROUP 属性又添加 GROUP 属性。
ALTER USER 语句之后,该用户必须拥有 USER 属性或 UID 属性。
ALTER USER 语句的执行可以用 ALUR 审计代码审计。
#举例:以下方式更改密码
[gbasedbt@evansgbase~]$ dbaccess sysuser - -
>alter user lczd modify password "GBase_8s";[gbasedbt@evansgbase~]$echo " alter user lczd modify password ’GBase_8s‘;" | dbaccess lczd -




