Синтаксис записей файла pg_hba conf
Листинг 8.5. Синтаксис записей файла pg_hba.conf
# Запись типа "local"
local база_дднных метод^аутентификации [ параметр ]
# Запись типа "host"
host база_данных 1р_адрес сетевая_наска метод_аутентификации [ параметр ]
# Запись типа "hostssl"
hostssl база_данных тр_адрес сетевая_маска метод_аутентификации [ параметр ]
Примечание 5
Примечание 5
Помните, что каждая запись в файле pg_hba.conf должна полностью умещаться в одной строке. Перенос записей на другую строку запрещен.
Ниже перечислены компоненты записей pg_hba.conf, упоминаемые в листинге 8.5.
- база_данных. Имя базы данных, к которой разрешено подключаться заданному хосту. Возможны три варианта:
- ключевое слово al 1 означает, что клиент может подключиться к любой базе данных, обслуживаемой сервером PostgreSQL;
- ключевое слово sameuser означает, что клиент может подключаться только к базе данных, имя которой совпадает с именем аутентифицироваиного пользователя;
- если в записи указывается конкретное имя базы данных, клиент сможет подключиться только к этой базе.
ip_adpec, сетевая ^маска. Поля ip_adpec и сетевая_маска определяют либо конкретный IP-адрес, либо интервал IP-адресов, которым разрешено подключение к серверу PostgreSQL. Интервал задается в виде сетевой маски, описывающей IP-сеть. При указании отдельного IP-адреса поле сетевой маски должно быть равно 255.255~. 255.255.
Примечание 6
Примечание 6
За информацией о сетевых масках обращайтесь на сайт Linux Networking HOWTO (http://www. thelinuxreview.com/howto/networking) или к системному администратору.
- метод_аутентификации. Метод аутентификации, который должен использоваться сервером при подключении пользователя к PostgreSQL. Ниже перечислены допустимые значения этого поля.
- trust. Хост объявляется доверенным, то есть любой пользователь с него подключается к базе данных PostgreSQL без пароля. Таким образом, вы автоматически доверяете всем пользователям хоста. Естественно, это весьма рискованный метод, если заданный хост недостаточно хорошо защищен или предоставляет доступ посторонним пользователям.
- reject. Доступ к PostgreSQL для соответствующего хоста/пользователя автоматически отклоняется. Такая настройка подходит лишь в том случае, если хост заведомо не должен получать доступ к серверу PostgreSQL.
- password. Для получения доступа пользователь должен ввести пароль, который совпадает с паролем, хранящимся в глобальной системной таблице pg_shadow с именем этого пользователя. Пароль пересылается в текстовом виде.
- crypt. Этот метод аналогичен методу password, но в нем пароль пересылается не в простом текстовом виде, а с применением простой схемы шифрования, которая не обеспечивает надежной защиты, но это все же лучше, чем простая пересылка пароля в текстовом виде, как в методе password.
- krb4, krb5. Используется система аутентификации Kerberos версий 4 и 5. Вопросы установки и настройки Kerberos выходят за рамки темы книги, но если вы захотите организовать аутентификацию с использованием Kerberos, такой вариант существует.
- ident. При запросе на подключение от хоста с IP-адресом, заданным в файле pg_hba.conf, должна применяться карта идентификации. У метода имеется один обязательный параметр, значением которого является либо специальное ключевое слово sameuser, либо имя карты, определенной в файле pgjdent.conf. Дополнительная информация о картах идентификации приведена в пункте «Файл pg_ident.conf>
>
.
параметр. Поле параметра может быть обязательным или необязательным в зависимости от выбранного метода аутентификации. В PostgreSQL 7.1.x оно обязательно только для метода Ident.
ВНИМАНИЕ
Методы password и crypt рекомендуется использовать лишь в сочетании с внешним механизмом шифрования. Информация о применении единого механизма шифрования для всего трафика PostgreSQL приведена в разделе «Шифрование сеанса».
Содержание раздела