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

网站分析流程品牌网图片新闻2003年下一条文章

网站分析流程,品牌网图片新闻2003年下一条文章,如何设置wordpress静态页面,俄罗斯搜索引擎浏览器官网入口PostgreSQL实现了基于角色的存取控制机制。角色是权限的集合。可以将权限赋给用户#xff0c;也可以将权限赋给角色。可以将角色赋给一个用户#xff0c;该用户将拥有角色的所有权限。也可以将角色赋给其它的角色。PostgreSQL中的用户和角色使用同一个名字空间。数据库中不能…PostgreSQL实现了基于角色的存取控制机制。角色是权限的集合。可以将权限赋给用户也可以将权限赋给角色。可以将角色赋给一个用户该用户将拥有角色的所有权限。也可以将角色赋给其它的角色。PostgreSQL中的用户和角色使用同一个名字空间。数据库中不能有两个用户同名不能有两个角色同名也不能有一个用户和一个角色同名。数据库中存在一个内置的超级用户postgrespostgres可以在数据库中创建新的超级用户也可以把一个超级用户变成普通用户。同时数据库中也有一个内置的名为PUBLIC的角色, 任何用户都可以给PUBLIC授权和回收权限。数据库中的所有用户和角色都自动拥有PUBLIC角色拥有的一切权限。2.1 数据库权限PostgreSQL中的权限分为系统权限和对象权限。系统权限只能赋给用户不能赋给角色。对象权限既能赋给用户又能赋给角色。 系统权限有以下三种权限名称权限功能CREATEDB创建数据库CREATEROLE创建、删除和修改角色或用户对象权限与具体的数据库对象有关不同的数据库对象有不同的权限。 PostgreSQL中的对象表(table)、序列(sequnce)、数据库(database)、函数(function)、语言(languange)、模式(schema)和表空间(tablespace)都有自己的权限类型。1表权限如下表权限名称权限功能SELECT查询表INSERT表中插入新记录UPDATE更新表DELETE删除表中的记录REFERENCES可以在表中创建外键约束, 必须在被外键引用的表上同时有该权限才能创建外键约束TRIGGER可以在表上创建触发器2序列权限如下表权限名称权限功能SELECT对序列使用currval函数USAGE对序列使用currval 函数和nextval函数UPDATE对序列使用nextval 函数和setval函数3数据库权限如下表权限名称权限功能CONNECT可以连接数据库TEMPORAR可以在数据库中创建临时表TEMP同上可以在数据库中创建临时表CREATE可以在数据库中创建新的模式PUBLIC角色自动拥有新建的数据库上的CONNECT权限。4函数权限如下表权限名称权限功能EXECUTE可以调用函数也可以使用任何在该函数基础上实现的运算符5语言权限如下表权限名称权限功能USAGE可以使用该语言创建函数6模式权限如下表权限名称权限功能CREATE在模式里面创建新的数据库对象如果要重命令模式里面的一个数据库对象执行命令的用户必须对该模式有CREATE权限同时必须是并重命名的对象的所有者。USAGE允许访问模式里面的数据库对象7表空间权限如下权限名称权限功能CREATE在表空间里面创建表、临时表和索引新创建的数据库可以将该表空间作为它的默认表空间。 如果该权限被回收在该表空间中被创建的数据库对象仍然被存放在该表空间中。2.2 数据库用户和角色2.2.1创建数据库用户使用下面的命令来创建数据库用户CREATE USER  name  [ [ WITH ]  option [ ... ] ]  [ WITH ] { ENCRYPTED | UNENCRYPTED } PASSWORD ‘password’[ [ WITH ]  option [ ... ] ]Option可以是:SUPERUSER | NOSUPERUSER| CREATEDB | NOCREATEDB| CREATEROLE | NOCREATEROLE| CONNECTION LIMIT connlimit| VALID UNTIL ’timestamp’执行该命令的用户必须具有CREATEROLE权限或者是超级用户其中WITH关键字可以省略。SUPERUSER表示新创建的用户是超级用户NOSUPERUSER表示新创建的用户不是超级用户默认是NOSUPERUSER只有postgres才能创建超级用户。CREATEDB表示新创建的用户有CREATEDB权限NOCREATEDB表示新创建的用户没有CREATEDB权限默认是NOCREATEDB。CREATEROLE表示新新创建的用户有CREATEROLE权限NOCREATEROLE表示新创建的用户没有CREATEROLE权限默认是NOCREATEROLE。CONNECTION LIMIT connlimit 设定该用户能在数据库中建立的并发连接的上限默认是没有上限。{ ENCRYPTED | UNENCRYPTED } PASSWORD ‘password’设定用户的密码指明ENCRYPTED,则用户的密码用加密的方式(MD5方法加密)存在数据库中指明UNENCRYPTED则用户的密码用明文的方式存在数据库中。VALID UNTIL ‘timestamp’ 指定密码的过期时间timestamp格式是”年-月-日”例如” 2010-09-23”默认是永不过期。下面是一些实际的例子 (1) CREATE USER  li_ming  WITH  PASSWORD ‘jw8s0F4’  CREATEDB CREATEROLE CONNECTION LIMIT 100 LOGIN; 该命令创建一个名为li_ming的数据库用户它不是超级用户它的密码是jw8s0F4 密码是用加密方式存放在数据库中它具有CREATEDB、 CREATEROLE 和LOGIN权限 它在数据库中建立的并发连接数目不能超过100。(2) CREATE USER  li_zhe  WITH  PASSWORD ‘hjkkoi’   SUPERUSER  VALID UNTIL ‘2010-09-09’;该命令创建一个名为li_zhe的数据库用户它是超级用户它的密码是hjkkoi 密码是用加密方式存放在数据库中它在数据库中建立的并发连接数目没有上限它的密码将在2010年09月09日过期。2.2.2 修改数据库用户的属性使用下面的命令来修改数据库用户的属性ALTER USER name [ [ WITH ] option [ ... ] ]其中option可以是:SUPERUSER | NOSUPERUSER| CREATEDB | NOCREATEDB| CREATEROLE | NOCREATEROLE| CONNECTION LIMIT connlimit| { ENCRYPTED | UNENCRYPTED } PASSWORD ’password’| VALID UNTIL ’timestamp’具有CREATEROLE权限的用户或者超级用户才能执行该命令option选项的含义参见CREATE USER命令。数据库超级用户可以修改任何普通用户的属性。只用postgres才能修改其它的超级用户的属性。一个用户只能修改自己的密码不能修改自己的其它属性。下面是一些实际的例子:1ALTER USER  li_ming  NOCREATEDB  NOCREATEROLE  NOLOGIN;这条命令将使数据库用户li_ming失去CREATEDB、CREATEROLE和LOGIN权限。2ALTER  USER  li_ming  password ‘hjkop3’;这条命令将数据库用户li_ming的密码改为hjkop3。2.2.3 删除用户 使用下面的命令来删除数据库用户DROP USER [ IF EXISTS ] name [, ...]DROP USER命令删除一个数据库用户。执行命令的用户必须有具有CREATEROLE 权限或者是超级用户。如果被删除的用户是超级用户执行命令的用户必须是postgres。一个用户被删除以后该用户拥有的所有数据库对象都会被自动删除所有依赖于该用户拥有的数据库对象的数据库对象也会被自动删除。下面是一个例子1DROP USER user1;删除用户user1。2.2.4 创建角色使用下面的命令来创建数据库角色CREATE ROLE name具有CREATEROLE权限的用户才能执行该命令。下面是一个例子1CREATE ROLE role1;这条命令在数据库中创建一个名为role1的角色。2.2.5 删除角色使用下面的命令来删除数据库角色DROP ROLE [ IF EXISTS ] name [, ...]具有CREATEROLE权限的用户才能执行该命令。下面是一个例子1DROP ROLE role1;删除角色role1。2.2.6 给角色或用户授予对象权限可以使用下面的命令来给角色或用户授予对象权限1GRANT { { SELECT | INSERT | UPDATE | DELETE | REFERENCES | TRIGGER }[,...] | ALL [ PRIVILEGES ] }ON [ TABLE ] tablename [, ...]TO {  rolename | PUBLIC } [, ...] [ WITH GRANT OPTION ]2GRANT { { USAGE | SELECT | UPDATE } [,...] | ALL [ PRIVILEGES ] }ON SEQUENCE sequencename [, ...]TO {  role_or_user_name | PUBLIC } [, ...] [ WITH GRANT OPTION ]3GRANT { { CREATE | CONNECT | TEMPORARY | TEMP } [,...] | ALL [ PRIVILEGES ] }ON DATABASE dbname [, ...]TO {  role_or_user_name | PUBLIC } [, ...] [ WITH GRANT OPTION ]4GRANT { EXECUTE | ALL [ PRIVILEGES ] }ON FUNCTION funcname ( [ [ argmode ] [ argname ] argtype [, ...] ] ) [, ...]TO {  role_or_user_name | PUBLIC } [, ...] [ WITH GRANT OPTION ]5GRANT { USAGE | ALL [ PRIVILEGES ] }ON LANGUAGE langname [, ...]TO {  role_or_user_name | PUBLIC } [, ...] [ WITH GRANT OPTION ]6GRANT { { CREATE | USAGE } [,...] | ALL [ PRIVILEGES ] }ON SCHEMA schemaname [, ...]TO {  role_or_user_name | PUBLIC } [, ...] [ WITH GRANT OPTION ]7GRANT { CREATE | ALL [ PRIVILEGES ] }ON TABLESPACE tablespacename [, ...]TO {  role_or_user_name | PUBLIC } [, ...] [ WITH GRANT OPTION ]执行该命令的用户必须满足下面的条件中的一个1是超级用户。2是数据库对象的所有者。3对权限有GRANT OPTION, 必须是直接拥有从拥有的角色那里得到的GRANT OPTION是无效的。USAGE、SELECT、UPDATE、CREATE和EXECUTE的含义已经在上面解释过。 ALL PRIVILEGES或者ALL表示该数据库对象上的所有权限。PUBLIC表示将权限赋给数据库中的所有角色和用户即使是以后新建立的用户和角色也会自动拥有这些权限。GRANT OPTION 表示接收权限的用户可以将该权限再赋给其它用户和角色 PUBLIC和GRANT OPTION不能同时使用。下面是一些具体的例子1GRANT SELECT on  salary  to user1, role1;这条命令将表salary上的SELECT权限赋给用户user1和角色role1。2GRANT SELECT on  salary, UPDATE on salary to role1 ;这条命令将表salary上的SELECT和UPDATE权限赋给角色role1。3GRANT ALL PRIVILEGES on  salary  to role1 ;这条命令将表salary上的所有权限赋给角色role1。4GRANT USAGE  on  SEQUENCE id_counter to role1 ;这条命令将序列id_counter上的USAGE权限赋给角色role1。5GRANT USAGE  on  SEQUENCE id_counter to PUBLIC;这条命令将序列id_counter上的USAGE权限赋给数据库中的所有角色和用户。6GRANT USAGE  on  SEQUENCE id_counter to user1,role1 WITH GRANT OPTION;这条命令将序列id_counter上的USAGE权限赋给角色或用户user1和角色role1。用户user1可以将该权限再赋给其它用户或角色。2.2.7 从角色或用户手中回收对象权限使用下面的命令来从角色或用户手中回收对象权限1REVOKE [ GRANT OPTION FOR ]{ { SELECT | INSERT | UPDATE | DELETE | REFERENCES | TRIGGER }[,...] | ALL [ PRIVILEGES ] }ON [ TABLE ] tablename [, ...]FROM {  role_or_user_name | PUBLIC } [, ...][ CASCADE | RESTRICT ]2REVOKE [ GRANT OPTION FOR ]{ { USAGE | SELECT | UPDATE }[,...] | ALL [ PRIVILEGES ] }ON SEQUENCE sequencename [, ...]FROM { [  role_or_user_name | PUBLIC } [, ...][ CASCADE | RESTRICT ]3REVOKE [ GRANT OPTION FOR ]{ { CREATE | CONNECT | TEMPORARY | TEMP } [,...] | ALL [ PRIVILEGES ] }ON DATABASE dbname [, ...]FROM { role_or_user_name | PUBLIC } [, ...][ CASCADE | RESTRICT ]4REVOKE [ GRANT OPTION FOR ]{ EXECUTE | ALL [ PRIVILEGES ] }ON FUNCTION funcname ( [ [ argmode ] [ argname ] argtype [, ...] ] ) [, ...]FROM {  role_or_user_name | PUBLIC } [, ...][ CASCADE | RESTRICT ]5REVOKE [ GRANT OPTION FOR ]{ USAGE | ALL [ PRIVILEGES ] }ON LANGUAGE langname [, ...]FROM { role_or_user_name | PUBLIC } [, ...][ CASCADE | RESTRICT ]6REVOKE [ GRANT OPTION FOR ]{ { CREATE | USAGE } [,...] | ALL [ PRIVILEGES ] }ON SCHEMA schemaname [, ...]FROM { role_or_user_name | PUBLIC } [, ...][ CASCADE | RESTRICT ]7REVOKE [ GRANT OPTION FOR ]{ CREATE | ALL [ PRIVILEGES ] }ON TABLESPACE tablespacename [, ...]FROM {  role_or_user_name | PUBLIC } [, ...][ CASCADE | RESTRICT ]执行该命令的用户必须曾经向被回收权限的用户或角色授予过被回收的权限。如果执行该命令的用户没有向被回收权限的用户或角色授予过被回收的权限但该用户是超级用户或者是权限引用的数据库对象的所有者或者拥有被回收的权限和该权限的GRANT OPTION数据库不会报错被回收权限的用户或角色仍然拥有被回收的权限。PUBLIC表示从从PUBLIC角色手中回收权限。GRANT OPTION FOR表示只回收权限的GRANT OPTION不回收权限。REVOKE ALL PRIVILEGES 表示回收指定的数据库对象上的所有权限。CASCADE表示如果被回收权限的用户或角色将该权限又赋给了其它用户和角色该权限也会从这些用户和角色手中被回收掉。RESTICT的含义与CASCADE相反表示如果被回收权限的用户或角色将该权限又赋给了其它用户和角色该权限不会从这些用户和角色手中被回收掉。如果CASCADE 和 RESTRICT 都没有指定默认是RESTRICT。下面是一些具体的例子1REVOKE SELECT on  salary  from PUBLIC, role1;这条命令将表salary上的SELECT权限从角色PUBLIC角色role1手中回收掉。2REVOKE  GRANT OPTION FOR  SELECT on  salary  from  user1;这条命令将salary上的SELECT权限的GRANT OPTION从用户user1手中回收掉 user1仍然拥有SELECT权限但他不能将该权限再赋给其它用户或角色。3REVOKE  SELECT on  salary  from  user1 CASCADE;这条命令将表salary上的SELECT权限从用户user1手中回收掉如果user1将该权限赋给了其它用户或角色这些用户或角色也会失去该权限。2.2.7 将角色赋给角色和用户使用下面的命令将角色赋给角色和用户GRANT role_name [, ...] TO role_or_user_name [, ...]执行该命令的用户应该满足下面的两个条件中的一个:1具有CREATEROLE权限。2是超级用户。下面是一些具体的例子1GRANT role1 to role2, user1;这条命令将角色role1赋给角色role2和用户user1。2GRANT role1 to role2, user1 WITH ADMIN OPTION;这条命令将角色role1赋给角色role2和用户user1role2的用户成员可以将role1赋给其它用户或角色user1也可以将role1赋给其它用户或角色。2.2.8 从角色和用户手中回收角色使用下面的命令从角色和用户手中回收角色REVOKE role [, ...] FROM role_or_user_name [,...]执行该命令的用户应该满足下的两个条件中的一个:1具有CREATEROLE权限。2是超级用户。注意: 如果多个不同的用户将同一权限obj_priv赋给了同一个用户或角色role1如果有一个授权者从role1手中回收权限obj_priv那么role1仍然拥有权限obj_priv。只有所有的授权者对role1执行了回收权限obj_priv的操作 而且role1拥有的所有角色都不拥有权限obj_privrole1才会真正地失去权限obj_priv。下面是一个例子1RERVOKE role1 from role2, user1这条命令从角色role2, 用户user1手中回收角色role1, role2和user1将失去从role2得来的权限转载于:https://www.cnblogs.com/loveyue/archive/2011/06/04/2072531.html
http://www.pierceye.com/news/338937/

相关文章:

  • 外贸网站建站公司如何做滴滴网站平台
  • 淄博张店做网站的公司建筑设计公司资质等级
  • 一个网站的建设需要哪些流程图eclipse的开发网站开发
  • 网站链接跳转怎么做建立数据库连接时出错wordpress
  • 漳州网站建设选博大不错江苏省建设工程注册中心网站
  • 文件下载网站源码免费做网站空间
  • 怎样给公司做一个网站做推广新网域名管理平台
  • 新蔡县做网站收多少钱二级分销利润分配模式
  • 鞍山百度网站怎么制作python培训视频教程
  • 湛江网站建设与网页网站建设需要什么证件
  • 东莞建站公司案例全网天下案例wordpress入门教程知乎
  • 网站策划书包含的内容化工设计网站
  • 做网站推广电话网站建设制作免费推广
  • 如何发布网站响应式商城网站
  • 网站建设应用程序开发网站建设的意义以及重要性
  • 网站建设进度说明嘉兴公司制作网站的
  • 山东省建设注册管理网站手机免费网站制作
  • 台州网站制作套餐如何查询网站的主机
  • 毕业设计代做哪个网站好房产中介如何找客源
  • 怎么下载自己做的网站杭州互联网公司排名
  • 做曖視頻网站网站开发设计流程论文
  • 北京移动官网网站建设凡科做的网站好吗
  • 申请网站域名怎么做wordpress金融主题
  • 中国建设银行移动门户网站wordpress 生成html代码
  • dw网站建设框架大小设定广州分销商城开发
  • 网站一年的 运营费用一般企业网站建设合同
  • 九龙坡集团网站建设贵阳网站建设推广
  • 架设网站 自己购买服务器无锡seo网站推广费用
  • 网站关键词长度开平 做一网站
  • 青海制作网站可以网站可以做免费的文案广告