GBase 8s
运维管理
文章
精选

GBase8s数据库中用户信息

发表于2025-12-03 11:21:3548次浏览3个评论

前言
GBase8s数据库支持两种用户访问方式,数据库内部用户和操作系统用户
 

一、配置allowed.surrogates文件
修改用户映射:1.onconfig文件修改2. onmode – wf USERMAPPING= 'BASIC’命令修改
OFF:只允许操作系统的用户访问数据库,不允许非系统用户访问数据库。
BASIC:允许非系统用户访问数据库,但不允许执行对数据库系统的授权用户操作,如 DBSA, DBSSO, AAO 等。即使被映射的用户具有上述权限。
ADMIN:允许非系统用户访问数据库。且如果被映射的用户为授权用户,则非系统用户也被允许执行授权用户操作。

二、数据库开启USERMAPING映射
了解一下allowed.surrogates文件的内容,该文件存在于系统/etc/gbasedbt/目录下,打开内容可以发现为

USERS:daemon

无此文件无法创建数据库内部用户。

三、加载surrogates到缓存
onmode -cache surrogates

四、创建系统默认用户
在sysuser库中创建系统默认用户,可以指定默认目录,此为系统用户(映射用户,非系统用户将映射到daemon用户中)

CREATE DEFAULT USER WITH PROPERTIES USER daemon HOME "/home/gbasedbt/users" ;

or

CREATE DEFAULT USER WITH PROPERTIES USER daemon;


五、创建普通用户并指定密码
create user testuser with password 'testuser';

六、在数据库中赋予访问权限 connect,resource,dba 三种权限
echo "grant dba to testuser;" | dbaccess testdb -

七、使用内部用户访问数据库,并提示输入用户密码
dbaccess - -
CONNECT TO 'testdb@ol_gbasedbt1210' USER 'testuser';
CONNECT TO 'sysuser@ol_gbasedbt1210' USER 'gbasedbt';


下表可以看出创建的映射用户。

select * from sysusermap;

锁用户:
gbasedbt用户直接登录运行:

alter user testuser account lock;

解锁:

alter user testuser account unlock;

系统用户登录数据库方法:
建立系统用户

useradd daemon

passwd daemon

强制修改daemon用户组为gbasedbt组。

usermod -g gbasedbt daemon;

系统用户修改成gbasedbt组的时候,就可以作为数据库用户了。访问数据库是可以用gbasedbt用户登录直接给daemon用户赋权限:

grant dba to daemon;

此时daemon就可以访问了。
延伸:给daemon用户添加gbasedbt组。

usermod -a -G gbasedbt daemon

查看用户角色,到相应数据库下直接查看sysusers表。

 

select * from sysusers;
username gbasedbt
usertype D
priority 9
password 
defrole 

username testuser
usertype D
priority 5
password 
defrole 

username daemon
usertype C
priority 5
password 
defrole 
3 row(s) retrieved.

评论

登录后才可以发表评论
用户头像
GBase用户28017发表于 5个月前
Study
崔哥发表于 1个月前
春风倚棹阖闾城,水国春寒阴复晴。细雨湿衣看不见,闲花落地听无声。日斜江上孤帆影,草绿湖南万里情。东道若逢相识问,青袍今已误儒生。
流泪猫猫头发表于 6小时前
学习了