1

循序渐进 opengauss : 新用户权限和 permission denied for schema public -利来国际app

盖国强 2020-07-13
2350

opengauss 安装完成后,会自动创建自定义的帐号,名称默认为omm。默认用户名omm和操作系统用户同名,我们可以通过 replace 修改其密码。

omm=# alter role omm identified by 'open6au55' replace '[email protected]';
notice:  the encrypted password contains md5 ciphertext, which is not secure.
alter role
omm=# alter role omm identified by 'open6au55' replace '[email protected]';
error:  the old password is invalid.

可以使用 omm 登录,创建一个新的用户,我们可以看到 opengauss 对于密码安全的要求:

omm=# create user enmotech with password 'enmotech';
error:  password must contain at least three kinds of characters.
omm=# 
omm=# create user enmotech with password 'enm0t3ch';    
notice:  the encrypted password contains md5 ciphertext, which is not secure.
create role

创建独立的数据库,给用户授权:

omm=# create database enmotech owner enmotech;
create database
omm=# grant all privileges on database enmotech to enmotech;
grant
omm=# alter role enmotech createdb;
alter role
omm=# \q

在操作系统上,连接到容器数据库中:

[[email protected] ~]# gsql -d enmotech -u enmotech -w'enm0t3ch' -h 192.168.1.94 -p 8888
gsql ((opengauss 1.0 build ec0e781b) compiled at 2020-04-27 17:25:57 commit 2144 last mr 131 )
non-ssl connection (ssl connection is recommended when requiring high-security)
type "help" for help.
enmotech=>

注意,此时创建数据表还是遇到错误,不允许在 public 上创建:

enmotech=> create table yunhe (id number);
error:  permission denied for schema public

类似的建表失败报错可能还累死:

[err] error: permission denied for schema public
line 1: create table xxxx

这是因为安全原因,不允许普通客户在public模式下操作。

在测试需要下,可以将 all privileges 授予 enmotech 用户,需要使用超级用户授权,这里是 omm 用户:

omm=# grant all privileges to enmotech;
alter role

系统权限又称为用户属性,包括sysadmin、createdb、createrole、auditadmin和login。

omm=# \du
                                         list of roles
 role name |                               attributes                               | member of 
----------- ------------------------------------------------------------------------ -----------
 enmotech  | sysadmin                                                               | {}
 gaussdb   |                                                                        | {}
 omm       | sysadmin, create role, create db, replication, administer audit, useft | {}

现在 enmotech 这个用户,可以继续测试了:

eygle=> create table eygle(id number);
create table
eygle=> drop table eygle;
drop table

在 opengauss 中,通过 sql 文件,加载数据也非常简单:

eygle=> \i /tmp/dan.sql
insert 0 1
insert 0 1
...

本节就到这里,下节再见!

最后修改时间:2020-07-13 10:58:54
「喜欢文章,快来给作者赞赏墨值吧」
【利来手机国际的版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:[email protected]进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论