熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

OracleGrant詳解

2013-11-13 15:59:12  來源: Oracle 

  GRANT

  名稱

  GRANT — 賦予一個用戶一個組或所有用戶訪問權限

  GRANT privilege [ ] ON object [ ]

  TO { PUBLIC | GROUP group | username }

  輸入

  privilege

  可能的權限有

  SELECT

  訪問聲明的表/視圖的所有列/字段.

  INSERT

  向聲明的表中插入所有列字段.

  UPDATE

  更新聲明的所有列/字段.

  DELETE

  從聲明的表中刪除所有行.

  RULE

  在表/視圖上定義規則 (參見 CREATE RULE 語句).

  ALL

  賦予所有權限.

  object

  賦予權限的對象名.可能的對象是

  ?table (表)

  ?view (視圖)

  ?sequence (序列)

  ?index (索引)

  PUBLIC

  代表是所有用戶的簡寫.

  GROUP group

  將要賦予權限的組 group .目前的版本中組必須是用下面方法顯式創建的.

  username

  將要賦予權限的用戶名.PUBLIC 是代表所有用戶的簡寫.

  輸出

  CHANGE

  如果成功返回此信息.

  ERROR: ChangeAcl: class object not found

  如果所聲明的對象不可用或不可能對聲明的組或用戶賦予權限.

  描述

  GRANT 允許對象的創建者給某用戶或某組或所有用戶(PUBLIC)某些特定的權限.對象創建後除了創建者外除非創建者賦予(GRANT)權限其他人沒有訪問對象的權限.

  一旦用戶有某對象的權限他就可以使用那個特權.不需要給創建者賦予(GRANT)對象的權限創建者自動擁有對象的所有權限包括刪除它的權限.

  注意

  目前要想在 Postgres 裡面只賦予幾列權限你必須創建一個包含那幾列的視圖(view)然後把權限賦予那幾個視圖

  使用 psql \z 命令獲取關於現存對象權限的更多信息

  Database    = lusitania

  +++

  |  Relation        |        Grant/Revoke Permissions             |

  +++

  | mytable          | {=rwmiriam=arwRgroup todos=rw}      |

  +++

  Legend:

  uname=arwR privileges granted to a user

  group gname=arwR privileges granted to a GROUP

  =arwR privileges granted to PUBLIC

  r SELECT

  w UPDATE/DELETE

  a INSERT

  R RULE

  arwR ALL

  小技巧 目前要創建一個 GROUP (組) 你將不得不手工向表 pg_group 中插入數據

  INSERT INTO pg_group VALUES (todos);

  CREATE USER miriam IN GROUP todos;

  參考 REVOKE 語句重新分配訪問權限

  用法

  給所有用戶向表 films 插入記錄的權限

  GRANT INSERT ON films TO PUBLIC;

  賦予用戶 manuel 操作視圖 kinds 的所有權限

  GRANT ALL ON kinds TO manuel;

  兼容性

  SQL

  SQL GRANT 語法允許對表中的某單獨列/字段設置權限並且允許設置一權限以賦予別人相同權限.

  GRANT privilege [ ]

  ON object [ ( column [ ] ) ] [ ]

  TO { PUBLIC | username [ ] } [ WITH GRANT OPTION ]

  這些字段與 Postgres 實現是兼容的除了下面一些例外

  privilege

  SQL 允許聲明附加的權限

  SELECT

  REFERENCES

  允許在一個聲明的表的整合約束中使用某些或全部列/字段.

  USAGE

  允許使用一個域字符集集合或事務.如果聲明的對象不是表/視圖 privilege 只能聲明為 USAGE.

  object

  [ TABLE ] table

  SQL 允許一個附加的非函數關鍵字 TABLE

  CHARACTER SET

  允許使用聲明的字符集.

  COLLATION

  允許使用聲明的集合序列.

  TRANSLATION

  允許使用聲明的字符集轉換.

  DOMAIN

  允許使用聲明的域.

  WITH GRANT OPTION

  允許向別人賦予同樣權


From:http://tw.wingwit.com/Article/program/Oracle/201311/17628.html
  • 上一篇文章:

  • 下一篇文章:
  • Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.