revoke.sgml
上传用户:blenddy
上传日期:2007-01-07
资源大小:6495k
文件大小:9k
源码类别:

数据库系统

开发平台:

Unix_Linux

  1. <refentry id="SQL-REVOKE">
  2.  <refmeta>
  3.   <refentrytitle>
  4.    REVOKE
  5.   </refentrytitle>
  6.   <refmiscinfo>SQL - Language Statements</refmiscinfo>
  7.  </refmeta>
  8.  <refnamediv>
  9.   <refname>
  10.    REVOKE
  11.   </refname>
  12.   <refpurpose>
  13.    Revokes access privilege from a user, a group or all users.
  14.   </refpurpose>
  15.  </refnamediv>
  16.  <refsynopsisdiv>
  17.   <refsynopsisdivinfo>
  18.    <date>1998-09-24</date>
  19.   </refsynopsisdivinfo>
  20.   <synopsis>
  21. REVOKE <replaceable class="PARAMETER">privilege</replaceable> [, ...]
  22.     ON <replaceable class="PARAMETER">object</replaceable> [, ...]
  23.     FROM { PUBLIC | GROUP <replaceable class="PARAMETER">ER">g</replaceable>BLE> | <replaceable class="PARAMETER">username</replaceable> }
  24.   </synopsis>
  25.   <refsect2 id="R2-SQL-REVOKE-1">
  26.    <refsect2info>
  27.     <date>1998-09-24</date>
  28.    </refsect2info>
  29.    <title>
  30.     Inputs
  31.    </title>
  32.    <para>
  33.     <variablelist>
  34.      <varlistentry>
  35.       <term><replaceable class="PARAMETER">privilege</replaceable></term>
  36.       <listitem>
  37.        <para>
  38. The possible privileges are:
  39. <variablelist>
  40.  <varlistentry>
  41.   <term>SELECT</term>
  42.   <listitem>
  43.    <para>
  44.     Privilege to access all of the columns of a specific
  45.     table/view.
  46.    </para>
  47.   </listitem>
  48.  </varlistentry>
  49.  <varlistentry>
  50.   <term>INSERT</term>
  51.   <listitem>
  52.    <para>
  53.     Privilege to insert data into all columns of a
  54.     specific table.
  55.    </para>
  56.   </listitem>
  57.  </varlistentry>
  58.  <varlistentry>
  59.   <term>UPDATE</term>
  60.   <listitem>
  61.    <para>
  62.     Privilege to update all columns of a specific
  63.     table.
  64.    </para>
  65.   </listitem>
  66.  </varlistentry>
  67.  <varlistentry>
  68.   <term>DELETE</term>
  69.   <listitem>
  70.    <para>
  71.     Privilege to delete rows from a specific table.
  72.    </para>
  73.   </listitem>
  74.  </varlistentry>
  75.  <varlistentry>
  76.   <term>RULE</term>
  77.   <listitem>
  78.    <para>
  79.     Privilege to define rules on table/view.
  80.     (See <command>CREATE RULE</command>).
  81.    </para>
  82.   </listitem>
  83.  </varlistentry>
  84.  <varlistentry>
  85.   <term>ALL</term>
  86.   <listitem>
  87.    <para>
  88.     Rescind all privileges.
  89.    </para>
  90.   </listitem>
  91.  </varlistentry>
  92. </variablelist>
  93.        </para>
  94.       </listitem>
  95.      </varlistentry>
  96.      <varlistentry>
  97.       <term><replaceable class="PARAMETER">object</replaceable></term>
  98.       <listitem>
  99.        <para>
  100. The name of an object from which to revoke access.
  101. The possible objects are:
  102. <itemizedlist spacing="compact" mark="bullet">
  103.  <listitem>
  104.   <para>
  105.    table 
  106.   </para>
  107.  </listitem>
  108.  <listitem>
  109.   <para>
  110.    view 
  111.   </para>
  112.  </listitem>
  113.  <listitem>
  114.   <para>
  115.    sequence
  116.   </para>
  117.  </listitem>
  118.  <listitem>
  119.   <para>
  120.    index
  121.   </para>
  122.  </listitem>
  123. </itemizedlist>
  124.        </para>
  125.       </listitem>
  126.      </varlistentry>
  127.      <varlistentry>
  128.       <term><replaceable class="PARAMETER">group</replaceable></term>
  129.       <listitem>
  130.        <para>
  131. The name of a group from whom to revoke privileges.
  132.        </para>
  133.       </listitem>
  134.      </varlistentry>
  135.      <varlistentry>
  136.       <term><replaceable class="PARAMETER">username</replaceable></term>
  137.       <listitem>
  138.        <para>
  139. The name of a user from whom revoke privileges. Use the PUBLIC keyword
  140. to specify all users.
  141.        </para>
  142.       </listitem>
  143.      </varlistentry>
  144.      <varlistentry>
  145.       <term>PUBLIC</term>
  146.       <listitem>
  147.        <para>
  148. Rescind the specified privilege(s) for all users.
  149.        </para>
  150.       </listitem>
  151.      </varlistentry>
  152.     </variablelist>
  153.    </para>
  154.   </refsect2>
  155.   <refsect2 id="R2-SQL-REVOKE-2">
  156.    <refsect2info>
  157.     <date>1998-09-24</date>
  158.    </refsect2info>
  159.    <title>
  160.     Outputs
  161.    </title>
  162.    <para>
  163.     <variablelist>
  164.      <varlistentry>
  165.       <term><computeroutput>
  166. CHANGE
  167.        </computeroutput></term>
  168.       <listitem>
  169.        <para>
  170. Message returned if successfully.
  171.        </para>
  172.       </listitem>
  173.      </varlistentry>
  174.      <varlistentry>
  175.       <term><computeroutput>
  176. ERROR
  177.        </computeroutput></term>
  178.       <listitem>
  179.        <para>
  180. Message returned if object is not available or impossible
  181. to revoke privileges from a group or users.
  182.        </para>
  183.       </listitem>
  184.      </varlistentry>   
  185.     </variablelist>
  186.    </para>
  187.   </refsect2>
  188.  </refsynopsisdiv>
  189.  <refsect1 id="R1-SQL-REVOKE-1">
  190.   <refsect1info>
  191.    <date>1998-09-24</date>
  192.   </refsect1info>
  193.   <title>
  194.    Description
  195.   </title>
  196.   <para>
  197.    <command>REVOKE</command> allows creator of an object to revoke permissions granted
  198.    before, from all users (via PUBLIC) or a certain user or group.
  199.   </para>
  200.   <refsect2 id="R2-SQL-REVOKE-3">
  201.    <refsect2info>
  202.     <date>1998-09-24</date>
  203.    </refsect2info>
  204.    <title>
  205.     Notes
  206.    </title>
  207.    <para>
  208.     Refer to psql z command for further information about permissions 
  209.     on existing objects:
  210.     <programlisting>
  211. Database    = lusitania
  212. +------------------+---------------------------------------------+
  213. |  Relation        |        Grant/Revoke Permissions             |
  214. +------------------+---------------------------------------------+
  215. | mytable          | {"=rw","miriam=arwR","group todos=rw"}      |
  216. +------------------+---------------------------------------------+
  217. Legend:
  218.      uname=arwR -- privileges granted to a user
  219.      group gname=arwR -- privileges granted to a GROUP
  220.      =arwR -- privileges granted to PUBLIC
  221.   
  222.      r -- SELECT
  223.      w -- UPDATE/DELETE
  224.      a -- INSERT
  225.      R -- RULE
  226.      arwR -- ALL
  227.     </programlisting>
  228.    </para>
  229.    <tip>
  230.     <para>
  231.      Currently, to create a GROUP you have to insert 
  232.      data manually into table pg_group as:
  233.      <programlisting>
  234. INSERT INTO pg_group VALUES ('todos');
  235. CREATE USER miriam IN GROUP todos;
  236.      </programlisting>
  237.     </para>
  238.    </tip>
  239.   </refsect2>
  240.  </refsect1>
  241.  <refsect1 id="R1-SQL-REVOKE-2">
  242.   <title>
  243.    Usage
  244.   </title>
  245.   <para>
  246.    Revoke insert privilege from all users on table
  247.    <literal>films</literal>:
  248.    <programlisting>
  249. REVOKE INSERT ON films FROM PUBLIC;
  250.   </programlisting>
  251.   </para>
  252.   <para>
  253.    Revoke all privileges from user <literal>manuel</literal> on view <literal>kinds</literal>:
  254.    <programlisting>  
  255. REVOKE ALL ON kinds FROM manuel;
  256.    </programlisting>
  257.   </para>
  258.  </refsect1>
  259.  <refsect1 id="R1-SQL-REVOKE-3">
  260.   <title>
  261.    Compatibility
  262.   </title>
  263.   <refsect2 id="R2-SQL-REVOKE-4">
  264.    <refsect2info>
  265.     <date>1998-09-01</date>
  266.    </refsect2info>
  267.    <title>
  268.     SQL92
  269.    </title>
  270.    <para>
  271.     The SQL92 syntax for <command>REVOKE</command>
  272.     has additional capabilities for rescinding
  273.     privileges, including those on individual columns in tables:
  274.     <variablelist>
  275.      <varlistentry>
  276.       <term>
  277.        <synopsis>
  278. REVOKE { SELECT | DELETE | USAGE | ALL PRIVILEGES } [, ...]
  279.     ON <replaceable class="parameter">object</replaceable>
  280.     FROM { PUBLIC | <replaceable class="parameter">username</replaceable> [, ...] } { RESTRICT | CASCADE }
  281. REVOKE { INSERT | UPDATE | REFERENCES } [, ...] [ ( <replaceable class="parameter">column</replaceable> [, ...] ) ]
  282.     ON <replaceable class="parameter">object</replaceable>
  283.     FROM { PUBLIC | <replaceable class="parameter">username</replaceable> [, ...] } { RESTRICT | CASCADE }
  284.        </synopsis>
  285.       </term>
  286.       <listitem>
  287.        <para>
  288. Refer to <command>GRANT</command> for details on individual fields.
  289.        </para>
  290.       </listitem>
  291.      </varlistentry>
  292.      <varlistentry>
  293.       <term>
  294.        <synopsis>
  295. REVOKE GRANT OPTION FOR <replaceable class="parameter">privilege</replaceable> [, ...]
  296.     ON <replaceable class="parameter">object</replaceable>
  297.     FROM { PUBLIC | <replaceable class="parameter">username</replaceable> [, ...] } { RESTRICT | CASCADE }
  298.        </synopsis>
  299.       </term>
  300.       <listitem>
  301.        <para>
  302. Rescinds authority for a user to grant the specified privilege
  303. to others.
  304. Refer to the <command>GRANT</command> command for details
  305. on individual fields.
  306.        </para>
  307.       </listitem>
  308.      </varlistentry>
  309.     </variablelist>
  310.    </para>
  311.    <para>
  312.     The possible objects are:
  313.     <simplelist>
  314.      <member>
  315.       [ TABLE ] table/view
  316.      </member>
  317.      <member>
  318.       CHARACTER SET character-set
  319.      </member>
  320.      <member>
  321.       COLLATION collation
  322.      </member>
  323.      <member>
  324.       TRANSLATION translation
  325.      </member>
  326.      <member>
  327.       DOMAIN domain
  328.      </member>
  329.     </simplelist>
  330.    </para>
  331.    <para> 
  332.     If user1 gives a privilege WITH GRANT OPTION to user2,
  333.     and user2 gives it to user3 then user1 can revoke
  334.     this privilege in cascade using the CASCADE keyword.
  335.    </para>
  336.    <para>
  337.     If user1 gives a privilege WITH GRANT OPTION to user2,
  338.     and user2 gives it to user3 then if user1 try revoke
  339.     this privilege it fails if he/she specify the RESTRICT
  340.     keyword.
  341.    </para>
  342.   </refsect2>
  343.  </refsect1>
  344. </refentry>
  345. <!-- Keep this comment at the end of the file
  346. Local variables:
  347. mode: sgml
  348. sgml-omittag:nil
  349. sgml-shorttag:t
  350. sgml-minimize-attributes:nil
  351. sgml-always-quote-attributes:t
  352. sgml-indent-step:1
  353. sgml-indent-data:t
  354. sgml-parent-document:nil
  355. sgml-default-dtd-file:"../reference.ced"
  356. sgml-exposed-tags:nil
  357. sgml-local-catalogs:"/usr/lib/sgml/catalog"
  358. sgml-local-ecat-files:nil
  359. End:
  360. -->