2016-11-22 3 views
0

나는 사용자 "포스트 그레스"로 연결하고 내가 한 사용자 생성 : 나중에사용자가 항상 데이터베이스에 연결할 수 있습니다 [POSTGRES]

postgres=# CREATE DATABASE db_example ; 
postgres=# CREATE USER user WITH PASSWORD 'user123'; 
postgres=# REVOKE CONNECT ON DATABASE db_example FROM user; 
REVOKE 
postgres=# \q 

, 나는 사용자 "사용자"가 "db_example"로 연결을 시도합니다 :

루트 @ 데비안 :/홈/데비안 #의 psql의 -d db_example -U 사용자 -h localhost를

psql (9.4.9) 
SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, compression: off) 
Type "help" for help. 

db_example=> 

ㅁ y "db_example"사용자 "user"에 연결할 수 있습니까?

도움과 좋은 하루 보내 주셔서 감사합니다.

+0

[PostgreSQL의 새로운 사용자가 모든 데이터베이스에 연결할 수있는 이유] (http://stackoverflow.com/questions/6884020/why-new-user-in-postgresql-can-connect-to-all-databases)의 가능한 복제본) – cske

답변

1

PUBLIC (즉, 모든 사람)이 기본적으로 해당 권한을 가지고 있기 때문입니다.

, 즉 제거 현재 데이터베이스에 설정된 권한을 볼 수

REVOKE CONNECT ON DATABASE db_example FROM PUBLIC; 

실행 \l+를 실행합니다. 빈 설정은 기본값을 의미합니다. 소유자가 모든 작업을 수행 할 수 있으며 PUBLIC을 연결할 수 있습니다.

+0

정말 고마워, 내 문제를 해결 :) – Python241820