1
0
mirror of https://github.com/postgres/postgres.git synced 2025-07-28 23:42:10 +03:00

Add BSD authentication method.

Create a "bsd" auth method that works the same as "password" so far as
clients are concerned, but calls the BSD Authentication service to
check the password.  This is currently only available on OpenBSD.

Marisa Emerson, reviewed by Thomas Munro
This commit is contained in:
Tom Lane
2016-04-08 13:51:54 -04:00
parent af025eed53
commit 34c33a1f00
10 changed files with 191 additions and 0 deletions

View File

@ -522,6 +522,16 @@ hostnossl <replaceable>database</replaceable> <replaceable>user</replaceable>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><literal>bsd</></term>
<listitem>
<para>
Authenticate using the BSD Authentication service provided by the
operating system. See <xref linkend="auth-bsd"> for details.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
@ -1662,6 +1672,41 @@ host ... ldap ldapurl="ldap://ldap.example.net/dc=example,dc=net?uid?sub"
</para>
</note>
</sect2>
<sect2 id="auth-bsd">
<title>BSD Authentication</title>
<indexterm zone="auth-bsd">
<primary>BSD Authentication</primary>
</indexterm>
<para>
This authentication method operates similarly to
<literal>password</literal> except that it uses BSD Authentication
to verify the password. BSD Authentication is used only
to validate user name/password pairs. Therefore the user's role must
already exist in the database before BSD Authentication can be used
for authentication. The BSD Authentication framework is currently
only available on OpenBSD.
</para>
<para>
BSD Authentication in <productname>PostgreSQL</> uses
the <literal>auth-postgresql</literal> login type and authenticates with
the <literal>postgresql</literal> login class if that's defined
in <filename>login.conf</filename>. By default that login class does not
exist, and <productname>PostgreSQL</> will use the default login class.
</para>
<note>
<para>
To use BSD Authentication, the PostgreSQL user account (that is, the
operating system user running the server) must first be added to
the <literal>auth</literal> group. The <literal>auth</literal> group
exists by default on OpenBSD systems.
</para>
</note>
</sect2>
</sect1>
<sect1 id="client-authentication-problems">

View File

@ -792,6 +792,17 @@ su - postgres
</listitem>
</varlistentry>
<varlistentry>
<term><option>--with-bsd-auth</option></term>
<listitem>
<para>
Build with BSD Authentication support.
(The BSD Authentication framework is
currently only available on OpenBSD.)
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--with-ldap</option></term>
<listitem>