当前位置: 首页 > news >正文

怎样加快网站收录武宁网站ui专业设计

怎样加快网站收录,武宁网站ui专业设计,制作一个网址需要多少钱,唐山中小企业网站制作前言: postgresql做为一个比较复杂的关系型的重型数据库,不管是安装部署,还是后期的运行维护,都还是有比较多的细节问题需要引起关注。 例如,用户权限的合理分配,那么,什么是权限的合理分配呢…

前言:

postgresql做为一个比较复杂的关系型的重型数据库,不管是安装部署,还是后期的运行维护,都还是有比较多的细节问题需要引起关注。

例如,用户权限的合理分配,那么,什么是权限的合理分配呢? 自然是权限的最小化原则,也就是说每个用户能够完成其权限范围内的工作,而不会由于黑客攻击,漏洞等原因造成安全方面的危险。

在写这篇文章之前,仅仅是对于一些普通用户简单的随便赋权就完事了,而这样的管理工作显然是不够的,因此,本文将对postgresql数据库内的用户赋权和去权做一个相对完整的总结,并通过示例说明 usage权限和select权限的不同。

一,

用户的权限有哪些?

SELECT:该权限用来查询表或是表上的某些列,或是视图,序列。
INSERT:该权限允许对表或是视图进行插入数据操作,也可以使用COPY FROM进行数据的插入。
UPDATE:该权限允许对表或是或是表上特定的列或是视图进行更新操作。
DELETE:该权限允许对表或是视图进行删除数据的操作。
TRUNCATE:允许对表进行清空操作。
REFERENCES:允许给参照列和被参照列上创建外键约束。
TRIGGER:允许在表上创建触发器。
CREATE:对于数据库,允许在数据库上创建Schema;对于Schema,允许对Schema上创建数据库对象;对于表空间,允许把表或是索引指定到对应的表空间上。
CONNECT:允许用户连接到指定的数据库上。
TEMPORARY或是TEMP:允许在指定数据库的时候创建临时表。
EXECUTE:允许执行某个函数。
USAGE:对于程序语言来说,允许使用指定的程序语言创建函数;对于Schema来说,允许查找该Schema下的对象(不包括授权后的新建对象);对于序列来说,允许使用currval和nextval函数;对于外部封装器来说,允许使用外部封装器来创建外部服务器;对于外部服务器来说,允许创建外部表。
ALL PRIVILEGES:表示一次性给予可以授予的权限。

OK,增删改查也就是select ,update,insert,delete  和usage应该是可以归于一类的,而select和usage是十分相似的,至少在schema下,两者是基本雷同的,但需要注意的是,授权后的新建对象,比如新建表,usage是无权查询的,而select显然是不存在此类问题的。

二,

正确的只读用户赋权

1,

第一种赋权

usage---使用权+select查询权

先创建相关schema,名为mytest,相关role,名为test

test=# \c test
You are now connected to database "test" as user "postgres".
test=# create schema mytest;
CREATE SCHEMA
test=# \duList of rolesRole name      |                         Attributes                         | Member of 
--------------------+------------------------------------------------------------+-----------drmc               |                                                            | {}pg1                | Superuser, Create role, Create DB, Replication, Bypass RLS | {}pms30              | Superuser, Create role, Create DB, Replication, Bypass RLS | {}postgres           | Superuser                                                  | {}postgres_exporter  |                                                            | {}postgres_exporter1 |                                                            | {}power_common       |                                                            | {}power_tf           |                                                            | {}zsk                |                                                            | {}
test=# create user test with password '123456';
CREATE ROLE

赋权:

test=# grant USAGE on SCHEMA mytest to test;
GRANT
test1=> grant SELECT on ALL tables in schema mytest to test;

测试就不演示了,只是需要注意一点,要赋权两个,usage和select,两者缺一不可,也就是说必须是两个命令!!!!!

OK,以上是用户test赋权select到test数据库下的mytest这个schema,下面为了继续测试,删除test这个用户。

2,

强制删除已赋权过的用户

OK,删除的时候报错了,这就让人比较无语了,报错说的是名为test的数据库有5个对象依赖于用户test,不过还是有解决办法的

postgres=# drop user test;
2023-08-09 01:15:34.031 CST [14975] ERROR:  role "test" cannot be dropped because some objects depend on it
2023-08-09 01:15:34.031 CST [14975] DETAIL:  5 objects in database test
2023-08-09 01:15:34.031 CST [14975] STATEMENT:  drop user test;
ERROR:  role "test" cannot be dropped because some objects depend on it
DETAIL:  5 objects in database test

强制删除:

需要reassign和drop owner by以及drop user  三条命令,缺一不可。

postgres=# \c test
You are now connected to database "test" as user "postgres".
test=# \dn
List of schemasName  | Owner 
--------+-------mytest | testpublic | pg1
(2 rows)test=# REASSIGN OWNED BY test TO postgres;
REASSIGN OWNED
test=# \dnList of schemasName  |  Owner   
--------+----------mytest | postgrespublic | pg1
(2 rows)
test=# drop owned BY test cascade;
NOTICE:  drop cascades to 4 other objects
DETAIL:  drop cascades to table mytest.dept
drop cascades to table mytest.emp
drop cascades to table mytest.bonus
drop cascades to table mytest.salgrade
DROP OWNED

OK,查询test这个用户是否删除:

可以看到,确实没有了,有强迫症的人士就非常舒服了。

但特别需要注意,该强制删除用户因为是级联删除,因此,很大概率会把依赖的schema和table都删除,所以此方式强制删除用户需要提前备份,防止发生不测

test1=# \du+List of rolesRole name      |                         Attributes                         | Member of | Description 
--------------------+------------------------------------------------------------+-----------+-------------drmc               |                                                            | {}        | pg1                | Superuser, Create role, Create DB, Replication, Bypass RLS | {}        | pms30              | Superuser, Create role, Create DB, Replication, Bypass RLS | {}        | postgres           | Superuser                                                  | {}        | postgres_exporter  |                                                            | {}        | postgres_exporter1 |                                                            | {}        | power_common       |                                                            | {}        | power_tf           |                                                            | {}        | zsk                |                                                            | {}        | 

3,

第二种赋权

grant select+ owner

test=# create user test with password '123456';
CREATE ROLE
test=# \c
You are now connected to database "test" as user "postgres".
test=# grant SELECT on ALL tables in schema mytest to test;
GRANT
test=# set search_path to mytest ;
SET
test=# alter schema mytest owner to test;
ALTER SCHEMA

测试:

test=> \c
You are now connected to database "test" as user "test".test=> set search_path to mytest ;
SET
test=> \dpAccess privilegesSchema |   Name   | Type  |     Access privileges     | Column privileges | Policies 
--------+----------+-------+---------------------------+-------------------+----------mytest | bonus    | table | postgres=arwdDxt/postgres+|                   | |          |       | test=r/postgres           |                   | mytest | dept     | table | postgres=arwdDxt/postgres+|                   | |          |       | test=r/postgres           |                   | mytest | emp      | table | postgres=arwdDxt/postgres+|                   | |          |       | test=r/postgres           |                   | mytest | salgrade | table | postgres=arwdDxt/postgres+|                   | |          |       | test=r/postgres           |                   | 
(4 rows)test=> \dn
List of schemasName  | Owner 
--------+-------mytest | testpublic | pg1
(2 rows)test=> set search_path to mytest ;
SET
test=> select * from emp;empno | ename  |    job    | mgr  |  hiredate  |   sal   |  comm   | deptno 
-------+--------+-----------+------+------------+---------+---------+--------7369 | SMITH  | CLERK     | 7902 | 1980-12-17 |  800.00 |         |     207499 | ALLEN  | SALESMAN  | 7698 | 1981-02-20 | 1600.00 |  300.00 |     307521 | WARD   | SALESMAN  | 7698 | 1981-02-22 | 1250.00 |  500.00 |     307566 | JONES  | MANAGER   | 7839 | 1981-04-02 | 2975.00 |         |     207654 | MARTIN | SALESMAN  | 7698 | 1981-09-28 | 1250.00 | 1400.00 |     307698 | BLAKE  | MANAGER   | 7839 | 1981-05-01 | 2850.00 |         |     307782 | CLARK  | MANAGER   | 7839 | 1981-06-09 | 2450.00 |         |     107788 | SCOTT  | ANALYST   | 7566 | 0087-04-19 | 3000.00 |         |     207839 | KING   | PRESIDENT |      | 1981-11-17 | 5000.00 |         |     107844 | TURNER | SALESMAN  | 7698 | 1981-09-08 | 1500.00 |    0.00 |     307876 | ADAMS  | CLERK     | 7788 | 0087-05-23 | 1100.00 |         |     207900 | JAMES  | CLERK     | 7698 | 1981-12-03 |  950.00 |         |     307902 | FORD   | ANALYST   | 7566 | 1981-12-03 | 3000.00 |         |     207934 | MILLER | CLERK     | 7782 | 1982-01-23 | 1300.00 |         |     10
(14 rows)

http://www.15wanjia.com/news/190006.html

相关文章:

  • 网站代理合作免费公司网址怎么注册
  • 大连网站开发工资公关公司组织架构图
  • 做包装看什么网站合肥市网站建设
  • 苏州网站设计公司兴田德润i简介小程序商店网址
  • 阿坝州网站制作两学一做考试网站
  • 如果做一个网站南海营销网站建设
  • 网站开发有什么语言怎样在谷歌做网站
  • 网站开发 chrome浏览器崩溃如何注册一个网站
  • 珠海网站建设咨询华强北网站建设设计
  • 桑基图在线制作网站免费网络电视直播在线观看
  • 搜索引擎友好的网站有哪些特点做单网站
  • cad如何做图纸模板下载网站抖音代运营合作
  • 网站方案建设书模板制作简易网站模板
  • 做任务网站有哪些wordpress数据库教程
  • 做PPT素材用到的网站wordpress 添加地图
  • 深圳市律师网站建设怎么样如何查看网站是否降权
  • 个人网站图片加载慢西安网站建设app建设
  • 免费建站哪个比较好简单网页设计作品欣赏
  • 网站建设哪家售后做的好机电建设工程施工网站图片
  • 网站建设费要摊销wordpress列表页面访问时间太长
  • 放单网站建设贵阳网站建设搜q479185700
  • 随州企业网站建设wordpress4.9.8火车头
  • 宁波大型网站制作动易做网站
  • 国外网站流量PHP开源网站开发系统
  • 哪个网站做超链接做网站的图片需要多少钱
  • 网站建设服务费的税收分类荆州哪有做网站的公司
  • 维度网络做网站近期十大热点事件
  • 如何将网站生成二维码app开发一定要有公司吗
  • 电子商务网站建设产品深圳专业专业网站建设公司
  • 帝国cms的手机网站兴义做网站的