Ключевые слова:postgresql, auth, security, (найти похожие документы)
Date: Thu, 14 Nov 2002 10:18:50 +0500
From: Roman Dawydkin <Roman_Dawydkin@p77.f5.n5022.z2.fidonet.org>
Newsgroups: ftn.su.dbms.sql
Subject: Ограничение доступа пользователей к PostreSQL
YT> Что надо написать в pg_hba.conf, чтобы все юзеры подключались к
YT> базами, аутентифицируясь по md5, а юзер postgres имел доступ ко всем
YT> базам безо всяких паролей?
Hе пользуйся ident, этим способом обмануть можно без особого труда. (а под
Windows он вообще, наверно, не работает)
Суперпользователя (postgres) можно пускать без пароля только с локальной машины.
Посколько по IP он ничем не отличается от остальных, можно только ориентировать на
local аутентфикацию.
У меня сделано так в postgresql.conf:
unix_socket_group='postgres'
unix_socket_permissions=0770
unix_socket_directory по умолчанию, в /tmp
В результате, все, кто входят в группу postgres (пока только я), могут psql (а
также pg_dump и т.п.) заходить без пароля. Для остальных в /etc/profile.d/pgsql.sh
прописано
alias psql='psql -h localhost'
т.е. они ходят по сути через IP
pg_hba.conf такой:
# казалось бы, дыра, но из-за вышеописанного посторонние обломятся
local all trust
# этим пользуются (вынуждены из-за alias) обычные девелоперы
host all 127.0.0.1 255.255.255.255 md5
# а это потому, что старые драйвера JDBC не понимали md5
host all 192.168.0.0 255.255.255.0 crypt