postgresql/src/backend/libpq/pg_hba.conf.sample

144 lines
5.5 KiB
Plaintext
Raw Normal View History

#
1998-03-14 05:15:49 +01:00
# Example PostgreSQL host access control file.
#
#
# This file controls what hosts are allowed to connect to what databases
# and specifies some options on how users on a particular host are identified.
# It is read each time a host tries to make a connection to a database.
#
# Each line (terminated by a newline character) is a record. A record cannot
# be continued across two lines.
#
# There are 3 kinds of records:
#
# 1) comment: Starts with #.
#
# 2) empty: Contains nothing excepting spaces and tabs.
#
# 3) content: anything else.
#
# Unless specified otherwise, "record" from here on means a content
# record.
#
# A record consists of tokens separated by spaces or tabs. Spaces and
# tabs at the beginning and end of a record are ignored as are extra
# spaces and tabs between two tokens.
#
# The first token in a record is the record type. The interpretation of the
# rest of the record depends on the record type.
#
# Record type "host"
# ------------------
#
# This record identifies a set of network hosts that are permitted to connect
# to databases. No network hosts are permitted to connect except as specified
# by a "host" record. See the record type "local" to specify permitted
# connections using UNIX sockets.
#
# Format:
#
# host DBNAME IP_ADDRESS ADDRESS_MASK AUTHTYPE [AUTH_ARGUMENT]
#
# DBNAME is the name of a PostgreSQL database, "all" to indicate all
# databases, or "sameuser" to restrict a user's access to a database
# with the same user name.
#
# IP_ADDRESS and ADDRESS_MASK are a standard dotted decimal IP address and
# mask to identify a set of hosts. These hosts are allowed to connect to
# Database DBNAME.
#
# AUTHTYPE is a keyword indicating the method used to authenticate the
# user, i.e. to determine that the principal is authorized to connect
1998-05-24 19:34:23 +02:00
# under the PostgreSQL username he supplies in his connection parameters.
#
# ident: Authentication is done by the ident server on the remote
# host, via the ident (RFC 1413) protocol. AUTH_ARGUMENT, if
# specified, is a map name to be found in the pg_ident.conf file.
1998-05-24 19:34:23 +02:00
# That table maps from ident usernames to PostgreSQL usernames. The
# special map name "sameuser" indicates an implied map (not found
# in pg_ident.conf) that maps every ident username to the identical
1998-05-24 19:34:23 +02:00
# PostgreSQL username.
#
# trust: No authentication is done. Trust that the user has the
1998-05-24 19:34:23 +02:00
# authority to use whatever username he specifies. Before
# PostgreSQL version 6, all authentication was done this way.
#
# reject: Reject the connection.
#
# password: Authentication is done by matching a password supplied in clear
1998-05-24 19:34:23 +02:00
# by the host. If AUTH_ARGUMENT is specified then the password
# is compared with the user's entry in that file (in the $PGDATA
# directory). See pg_passwd(1). If it is omitted then the
1998-03-06 19:03:38 +01:00
# password is compared with the user's entry in the pg_shadow
# table.
#
# crypt: Authentication is done by matching an encrypted password supplied
1998-03-06 19:03:38 +01:00
# by the host with that held for the user in the pg_shadow table.
#
# krb4: Kerberos V4 authentication is used.
#
# krb5: Kerberos V5 authentication is used.
# Record type "hostssl"
# ---------------------
#
# This record identifies the authentication to use when connecting to a
# particular database via TCP/IP sockets over SSL. Note that normal
# "host" records are also matched - "hostssl" records can be used to
# require a SSL connection.
# This keyword is only available if the server is compiled with SSL support
# enabled.
#
# The format of this record is identical to that of "host".
# Record type "local"
# ------------------
#
# This record identifies the authentication to use when connecting to a
# particular database via a local UNIX socket.
#
# Format:
#
# local DBNAME AUTHTYPE [AUTH_ARGUMENT]
#
# The format is the same as that of the "host" record type except that the
# IP_ADDRESS and ADDRESS_MASK are omitted and the "ident", "krb4" and "krb5"
# values of AUTHTYPE are not allowed.
1998-05-24 19:34:23 +02:00
# For backwards compatibility, PostgreSQL also accepts pre-version 6 records,
# which look like:
#
# all 127.0.0.1 0.0.0.0
# TYPE DATABASE IP_ADDRESS MASK AUTHTYPE MAP
2000-05-27 04:19:44 +02:00
#host all 127.0.0.1 255.255.255.255 trust
# The above allows any user on the local system to connect to any database
# under any username.
2000-05-27 04:19:44 +02:00
#host template1 192.168.93.0 255.255.255.0 ident sameuser
2000-05-27 03:32:01 +02:00
# The above allows any user from any host with IP address 192.168.93.x to
# connect to database template1 as the same username that ident on that host
# identifies him as (typically his Unix username).
2000-05-27 04:19:44 +02:00
#host all 192.168.54.1 255.255.255.255 reject
#host all 0.0.0.0 0.0.0.0 trust
2000-05-27 03:32:01 +02:00
# The above would allow anyone anywhere except from 192.168.54.1 to connect to
# any database under any username.
2000-05-27 04:19:44 +02:00
#host all 192.168.77.0 255.255.255.0 ident omicron
#
2000-05-27 03:32:01 +02:00
# The above would allow users from 192.168.77.x hosts to connect to any
1998-05-24 19:34:23 +02:00
# database, but if Ident says the user is "bryanh" and he requests to
# connect as PostgreSQL user "guest1", the connection is only allowed if
# there is an entry for map "omicron" in pg_ident.conf that says "bryanh" is
# allowed to connect as "guest1".
# By default, allow anything over UNIX domain sockets and localhost.
2000-05-27 04:19:44 +02:00
local all trust
host all 127.0.0.1 255.255.255.255 trust