2. DBMS이야기/01. PostgreSQL

[PostgreSQL ADMIN] DBMS 접근제한 설정

OSSW(Open Source System SoftWare 2014. 11. 18. 16:41

dbms 접근제한 설정하기

/var/lib/pgsql/data/pg_hba.conf 파일에 있는 다른 줄은 주석처리하고 아래 내용만 넣음.
local 은 로컬에서의 접속을 지정하며 host 를 이용하여 ip를 이용해서 제한을 할 수 있음.

처음 설치 후 postgresql 을 띄우면 다음과 같이 설정이 되어 있다.

 

# grep -v "^#" /var/lib/pgsql/data/pg_hba.conf
local   all         all                               ident sameuser
host    all         all         127.0.0.1/32          ident sameuser
host    all         all         ::1/128               ident sameuser

 

아래는 특정 ip 대역에서 사용자 인증을 통하여 접속하도록 설정하는 예제이다.

 

local all all password
host    all     all     10.40.20.0/24  md5

 

기본은 로컬호스트 유닉스 소켓으로만 접속할 수 있기 때문에 네트워크 설정을 변경해주어야 한다. 아래와 같이 접속할 호스트를 지정하면 접속이 안된다.

 

psql -d crowd_1.6.1 -U crowd
psql -d crowd_1.6.1 -U crowd -h wikidb

 

/var/lib/pgsql/data/postgresql.conf 에서 postgresql 버전에 따라서 조금씩 다르다.
7.4 버전은 tcpip_socket 를 true 로 설정해준다.
tcpip_socket = true

8.1 버전은 listen_addresses 에 * 표시를 해준다.
listen_addresses = '*'

/etc/init.d/postgresql restart 해줌

netstat 에서 5432 포트가 뜨는 것을 확인할 수 있음.

이제 원격에서 접속확인. 아래에서 wikidb는 호스트명에 등록을 하여 사용하는 경우임

 

psql -d crowd_1.6.1 -U crowd -h wikidb

 

참고로 서버가 아닌 다른 클라이언트에서 접속을 하려면 postgresql rpm 을 사전에 먼저 설치해야 한다.

 

 

 

출처 : http://wiki.tunelinux.pe.kr/display/sysadmin/PostgreSQL#PostgreSQL-추가팁

 

by. 백준 (2014.11.18)