暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

循序渐进 openGauss : 新用户权限和 permission denied for schema public

原创 盖国强 2020-07-13
9825

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

omm=# alter role omm identified by 'Open6au55' replace 'Gauss@123';
NOTICE:  The encrypted password contains MD5 ciphertext, which is not secure.
ALTER ROLE
omm=# alter role omm identified by 'Open6au55' replace 'Gauss@123';
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

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

[root@ecs-514e-0004 ~]# 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
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论