~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to plugin/auth_schema/docs/index.rst

  • Committer: Mark Atwood
  • Date: 2011-10-14 15:57:51 UTC
  • mfrom: (2425.1.5 auth_db)
  • Revision ID: me@mark.atwood.name-20111014155751-yf1y5jk190g4xyo5
mergeĀ lp:~daniel-nichter/drizzle/auth_schema

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
Schema Authentication
 
2
=====================
 
3
 
 
4
:program:`auth_schema` is an authentication plugin that authenticates
 
5
connections using a MySQL-like table with SHA1 password hashes.  Unlike
 
6
MySQL, the auth table is not built-in and there are no default or anonymous
 
7
users.  Since a user must authenticate to create the auth table but no
 
8
users can authenticate until the auth table is created, this circular
 
9
dependency is resolved by temporarily using another authentication plugin.
 
10
See the :ref:`auth_schema_examples`.
 
11
 
 
12
.. note:: Unload the :doc:`/plugins/auth_all/index` plugin before using this plugin.
 
13
.. seealso:: :doc:`/administration/authentication` 
 
14
 
 
15
.. _auth_schema_loading:
 
16
 
 
17
Loading
 
18
-------
 
19
 
 
20
To load this plugin, start :program:`drizzled` with::
 
21
 
 
22
   --plugin-add=auth_schema
 
23
 
 
24
Loading the plugin may not enable or configure it.  See the plugin's
 
25
:ref:`auth_schema_configuration` and :ref:`auth_schema_variables`.
 
26
 
 
27
.. seealso:: :doc:`/options` for more information about adding and removing plugins.
 
28
 
 
29
.. _auth_schema_configuration:
 
30
 
 
31
Configuration
 
32
-------------
 
33
 
 
34
These command line options configure the plugin when :program:`drizzled`
 
35
is started.  See :doc:`/configuration` for more information about specifying
 
36
command line options.
 
37
 
 
38
.. program:: drizzled
 
39
 
 
40
.. option:: --auth-schema.table ARG
 
41
 
 
42
   :Default: ``auth.users``
 
43
   :Variable: :ref:`auth_schema_table <auth_schema_table>`
 
44
 
 
45
   Schema-qualified table with ``user`` and ``password`` columns.  Quoting the auth table
 
46
   in backticks is optional.  The auth table name can only contain one period between the
 
47
   schema name and the table name.
 
48
 
 
49
.. _auth_schema_variables:
 
50
 
 
51
Variables
 
52
---------
 
53
 
 
54
These variables show the running configuration of the plugin.
 
55
See `variables` for more information about querying and setting variables.
 
56
 
 
57
.. _auth_schema_enabled:
 
58
 
 
59
* ``auth_schema_enabled``
 
60
 
 
61
   :Scope: Global
 
62
   :Dynamic: Yes
 
63
   :Option:
 
64
 
 
65
   If :program:`auth_schema` is enabled or disabled.  If the plugin is
 
66
   disabled, all authentication is denied.
 
67
 
 
68
.. _auth_schema_table:
 
69
 
 
70
* ``auth_schema_table``
 
71
 
 
72
   :Scope: Global
 
73
   :Dynamic: Yes
 
74
   :Option: :option:`--auth-schema.table`
 
75
 
 
76
   Schema-qualified table with ``user`` and ``password`` columns.
 
77
 
 
78
.. _auth_schema_examples:
 
79
 
 
80
Examples
 
81
--------
 
82
 
 
83
Start Drizzle with the default :doc:`/plugins/auth_all/index` plugin and
 
84
create the initial auth schema and table:
 
85
 
 
86
.. code-block:: mysql
 
87
 
 
88
   CREATE SCHEMA auth;
 
89
   USE auth;
 
90
   CREATE TABLE users (
 
91
      user     VARCHAR(255) NOT NULL,
 
92
      password VARCHAR(40),
 
93
      UNIQUE INDEX user_idx (user)
 
94
   );
 
95
 
 
96
Create a user account called ``susan`` with password ``herpass``:
 
97
 
 
98
.. code-block:: mysql
 
99
 
 
100
   INSERT INTO auth.users (user, password) VALUES ('susan', MYSQL_PASSWORD('herpass'));
 
101
 
 
102
Restart Drizzle with just the :program:`auth_schema` plugin:
 
103
 
 
104
.. code-block:: bash
 
105
 
 
106
   bin/drizzled --shutdown
 
107
   sbin/drizzled               \
 
108
      --plugin-remove=auth_all \
 
109
      --plugin-add=auth_schema
 
110
 
 
111
Test that it works:
 
112
 
 
113
.. code-block:: bash
 
114
 
 
115
   $ drizzle
 
116
   ERROR 1045 (28000): Access denied for user 'daniel' (using password: NO)
 
117
 
 
118
   $ drizzle --user susan
 
119
   ERROR 1045 (28000): Access denied for user 'susan' (using password: NO)
 
120
 
 
121
   $ drizzle --user susan --password=wrongpass
 
122
   ERROR 1045 (28000): Access denied for user 'susan' (using password: YES)
 
123
 
 
124
   $ drizzle --user=susan --password=herpass
 
125
   Welcome to the Drizzle client..  Commands end with ; or \g.
 
126
   ...
 
127
 
 
128
.. _auth_schema_authors:
 
129
 
 
130
Authors
 
131
-------
 
132
 
 
133
Daniel Nichter
 
134
 
 
135
.. _auth_schema_version:
 
136
 
 
137
Version
 
138
-------
 
139
 
 
140
This documentation applies to **auth_schema 1.0**.
 
141
 
 
142
To see which version of the plugin a Drizzle server is running, execute:
 
143
 
 
144
.. code-block:: mysql
 
145
 
 
146
   SELECT MODULE_VERSION FROM DATA_DICTIONARY.MODULES WHERE MODULE_NAME='auth_schema'
 
147
 
 
148
Changelog
 
149
---------
 
150
 
 
151
v1.0
 
152
^^^^
 
153
* First release.