1- <!-- $PostgreSQL: pgsql/doc/src/sgml/client-auth.sgml,v 1.137 2010/04/21 03:32:53 tgl Exp $ -->
1+ <!-- $PostgreSQL: pgsql/doc/src/sgml/client-auth.sgml,v 1.138 2010/05/26 23:49:18 tgl Exp $ -->
22
33<chapter id="client-authentication">
44 <title>Client Authentication</title>
@@ -314,9 +314,9 @@ hostnossl <replaceable>database</replaceable> <replaceable>user</replaceable>
314314 <listitem>
315315 <para>
316316 Reject the connection unconditionally. This is useful for
317- <quote>filtering out</> certain hosts from a group,e.g. a
318- <literal>reject</> lineblocks a specific host from connecting,
319- but a later line allows the remaining hosts in a specific
317+ <quote>filtering out</> certain hosts from a group,for example a
318+ <literal>reject</> linecould block a specific host from connecting,
319+ while a later line allows the remaining hosts in a specific
320320 network to connect.
321321 </para>
322322 </listitem>
@@ -446,7 +446,7 @@ hostnossl <replaceable>database</replaceable> <replaceable>user</replaceable>
446446 After the <replaceable>auth-method</> field, there can be field(s) of
447447 the form <replaceable>name</><literal>=</><replaceable>value</> that
448448 specify options for the authentication method. Details about which
449- options are available for which authenticationmethod appear below.
449+ options are available for which authenticationmethods appear below.
450450 </para>
451451 </listitem>
452452 </varlistentry>
@@ -624,17 +624,15 @@ local db1,db2,@demodbs all md5
624624 in a map should be thought of as meaning <quote>this operating system
625625 user is allowed to connect as this database user</quote>, rather than
626626 implying that they are equivalent. The connection will be allowed if
627- there is any map entry thatmatches the user name obtained from the
628- external authentication systemto the database user name that the
627+ there is any map entry thatpairs the user name obtained from the
628+ external authentication systemwith the database user name that the
629629 user has requested to connect as.
630630 </para>
631631 <para>
632632 If the <replaceable>system-username</> field starts with a slash (<literal>/</>),
633633 the remainder of the field is treated as a regular expression.
634634 (See <xref linkend="posix-syntax-details"> for details of
635- <productname>PostgreSQL</>'s regular expression syntax.
636- Regular expressions in username maps are always treated as being
637- <quote>advanced</> flavor.) The regular
635+ <productname>PostgreSQL</>'s regular expression syntax.) The regular
638636 expression can include a single capture, or parenthesized subexpression,
639637 which can then be referenced in the <replaceable>database-username</>
640638 field as <literal>\1</> (backslash-one). This allows the mapping of
@@ -768,7 +766,7 @@ omicron bryanh guest1
768766 The password-based authentication methods are <literal>md5</>
769767 and <literal>password</>. These methods operate
770768 similarly except for the way that the password is sent across the
771- connection,i.e. respectively, MD5-hashed and clear-text.
769+ connection,namely MD5-hashed and clear-text respectively .
772770 </para>
773771
774772 <para>
@@ -811,7 +809,7 @@ omicron bryanh guest1
811809 authentication according to RFC 1964. <productname>GSSAPI</productname>
812810 provides automatic authentication (single sign-on) for systems
813811 that support it. The authentication itself is secure, but the
814- data sent over the database connection will besend unencrypted unless
812+ data sent over the database connection will besent unencrypted unless
815813 <acronym>SSL</acronym> is used.
816814 </para>
817815
@@ -821,6 +819,9 @@ omicron bryanh guest1
821819 in the format
822820 <literal><replaceable>servicename</>/<replaceable>hostname</>@<replaceable>realm</></literal>. For information about the parts of the principal, and
823821 how to set up the required keys, see <xref linkend="kerberos-auth">.
822+ </para>
823+
824+ <para>
824825 GSSAPI support has to be enabled when <productname>PostgreSQL</> is built;
825826 see <xref linkend="installation"> for more information.
826827 </para>
@@ -845,7 +846,7 @@ omicron bryanh guest1
845846 <listitem>
846847 <para>
847848 Allows for mapping between system and database usernames. See
848- <xref linkend="auth-username-maps"> for details. For aKerboros
849+ <xref linkend="auth-username-maps"> for details. For aKerberos
849850 principal <literal>username/hostbased@EXAMPLE.COM</literal>, the
850851 username used for mapping is <literal>username/hostbased</literal>
851852 if <literal>include_realm</literal> is disabled, and
@@ -948,7 +949,7 @@ omicron bryanh guest1
948949 Native Kerberos authentication has been deprecated and should be used
949950 only for backward compatibility. New and upgraded installations are
950951 encouraged to use the industry-standard <productname>GSSAPI</productname>
951- authentication (see <xref linkend="gssapi-auth">) instead.
952+ authenticationmethod (see <xref linkend="gssapi-auth">) instead.
952953 </para>
953954 </note>
954955
@@ -1040,7 +1041,7 @@ omicron bryanh guest1
10401041 principal matching the requested database user name. For example, for
10411042 database user name <literal>fred</>, principal
10421043 <literal>fred@EXAMPLE.COM</> would be able to connect. To also allow
1043- principle <literal>fred/users.example.com@EXAMPLE.COM</>, use a username
1044+ principal <literal>fred/users.example.com@EXAMPLE.COM</>, use a username
10441045 map, as described in <xref linkend="auth-username-maps">.
10451046 </para>
10461047
@@ -1121,7 +1122,7 @@ omicron bryanh guest1
11211122 name (with an optional username mapping).
11221123 The determination of the client's
11231124 user name is the security-critical point, and it works differently
1124- depending on the connection type.
1125+ depending on the connection type, as described below .
11251126 </para>
11261127
11271128 <para>
@@ -1195,7 +1196,10 @@ omicron bryanh guest1
11951196 class="osname">Linux</>, <systemitem class="osname">FreeBSD</>,
11961197 <systemitem class="osname">NetBSD</>, <systemitem class="osname">OpenBSD</>,
11971198 <systemitem class="osname">BSD/OS</>, and <systemitem class="osname">Solaris</systemitem>), ident authentication can also
1198- be applied to local connections. In this case, no security risk is added by
1199+ be applied to local connections.
1200+ <productname>PostgreSQL</> uses <symbol>SO_PEERCRED</symbol> to find out
1201+ the operating system name of the connected client process.
1202+ In this case, no security risk is added by
11991203 using ident authentication; indeed it is a preferable choice for
12001204 local connections on such systems.
12011205 </para>
@@ -1272,7 +1276,7 @@ omicron bryanh guest1
12721276 <listitem>
12731277 <para>
12741278 Port number on LDAP server to connect to. If no port is specified,
1275- the default portin the LDAP library will be used.
1279+ theLDAP library's default portsetting will be used.
12761280 </para>
12771281 </listitem>
12781282 </varlistentry>
@@ -1309,7 +1313,7 @@ omicron bryanh guest1
13091313 <term><literal>ldapbasedn</literal></term>
13101314 <listitem>
13111315 <para>
1312- DN toroot the search for the user in, when doing search+bind
1316+ Root DN tobegin the search for the user in, when doing search+bind
13131317 authentication.
13141318 </para>
13151319 </listitem>
@@ -1403,7 +1407,7 @@ ldapserver=ldap.example.net ldapprefix="cn=" ldapsuffix=", dc=example, dc=net"
14031407 <para>
14041408 The shared secret used when talking securely to the RADIUS
14051409 server. This must have exactly the same value on the PostgreSQL
1406- and RADIUS servers. It is recommended that thisis a string of
1410+ and RADIUS servers. It is recommended that thisbe a string of
14071411 at least 16 characters. This parameter is required.
14081412 <note>
14091413 <para>
@@ -1434,7 +1438,7 @@ ldapserver=ldap.example.net ldapprefix="cn=" ldapsuffix=", dc=example, dc=net"
14341438 <para>
14351439 The string used as <literal>NAS Identifier</> in the RADIUS
14361440 requests. This parameter can be used as a second parameter
1437- identifying for example which database the user is attempting
1441+ identifying for example which databaseuser the user is attempting
14381442 to authenticate as, which can be used for policy matching on
14391443 the RADIUS server. If no identifier is specified, the default
14401444 <literal>postgresql</> will be used.
@@ -1458,7 +1462,8 @@ ldapserver=ldap.example.net ldapprefix="cn=" ldapsuffix=", dc=example, dc=net"
14581462 authentication. It is therefore only available for SSL connections.
14591463 When using this authentication method, the server will require that
14601464 the client provide a valid certificate. No password prompt will be sent
1461- to the client. The <literal>cn</literal> attribute of the certificate
1465+ to the client. The <literal>cn</literal> (Common Name) attribute of the
1466+ certificate
14621467 will be compared to the requested database username, and if they match
14631468 the login will be allowed. Username mapping can be used to allow
14641469 <literal>cn</literal> to be different from the database username.
@@ -1548,7 +1553,7 @@ FATAL: no pg_hba.conf entry for host "123.123.123.123", user "andym", database
15481553
15491554 <para>
15501555<programlisting>
1551- FATAL:Password authentication failed for user "andym"
1556+ FATAL:password authentication failed for user "andym"
15521557</programlisting>
15531558 Messages like this indicate that you contacted the server, and it is
15541559 willing to talk to you, but not until you pass the authorization