2013-03-04 3 views
0

나는 "databaseName"이라는 이름의 포스트그레스에서 포스트그레스 데이터베이스를 만들었습니다. 지금은루트 사용자가 아닌 포스트그레스에 액세스

그런 다음 나는 데이터베이스를 통해 체결 비밀번호를 입력 한 후

su - postgres 

과를 통해이 data2database에 액세스 할 수 있습니다 : psql의 databaseName을

나는 통해이 데이터베이스의 사용자를 만들었습니다

createuser -P userName1 

이제 데이터베이스 사용자가 루트 사용자로 데이터베이스에 액세스하지 못하게하려고합니다. 이제 사용자는 내가 오류가

su - postgres -u userName1 
     or through 
psql databaseName -u userName1 

로 포스트 그레스에 로그인 할 때 ... 누군가가 사용자가 루트 사용자없이 포스트 그레스 데이터베이스에 대한 액세스 권한을 얻을 수있는 방법으로 나를 인도 할 수 있습니까?

+0

"나는 오류가 발생합니다"라고 쓰지 마십시오. 어떤 오류입니까? 정확하게? 귀하의 질문에 정확한 오류 텍스트를 복사하여 붙여 넣으십시오. –

+0

@CraigRinger 물론 이것을 명심하십시오. – user1778824

답변

5

유닉스 소켓을 통한 peer 연결 또는 host (tcp) 연결을 통한 ident 연결을 허용하도록 pg_hba.conf을 구성하십시오. 원하는 경우 md5을 사용하여 암호 인증을 대신 사용할 수 있습니다.

기본적으로 psql은 로컬 OS 사용자 이름과 동일한 사용자 이름으로 연결됩니다. 이는 -U 플래그, 예를 들어, 오버라이드 (override) 할 수 있습니다 : 그것은 -U하지 -u

psql -U myusername thedatabase 

하는 것으로 (는 대문자입니다).

자세한 내용은 PostgreSQL 문서에서 다룹니다. 참조 :

을 BTW, 당신은 postgres 사용자로 명령을 실행하려는 경우, 오히려 su보다는 '보내고 그냥 쓸 수 있습니다 :

sudo -u postgres psql 
+0

답장을 보내 주셔서 감사합니다. 나는 포스트그레스에 익숙하지 않기 때문에 ph_hba.conf를 설정하는 방법을 알지 못한다. 나는 당신이 나를 구성 할 수 있다면 고맙겠습니다. 나는 커맨드 라인 인터페이스를 통해 리눅스 서버에서 일하고있다. 회신을 위해 왕성한 감사를드립니다. – user1778824

+0

@ user1778824 문서의 "클라이언트 인증"장을 읽으면서 필요한 모든 것을 설명해줍니다. 구성 방법을 알려줄 수는 없습니다. 설정하는 올바른 방법이 하나라도 있다면 설정 파일을 만들지 않을 것입니다. 우리는 서버가 자동으로 그렇게 작동하도록 할 것입니다. 그것은 다른 사람들이 Pg가 다른 상황을 위해 다른 방법을 사용하기를 원하기 때문에 설정 파일입니다. –

+0

@ user1778824 당신의 필요와 상황을 알지 못하면서 당신이 필요로하는 것을 말하기가 어렵습니다. 특히 당신이 배포판에 대해 언급하지 않았거나, 현재'pg_hba.conf'를 보여 주었고, 어떻게 사용자를 인증 할 것인지 등이 밝혀졌습니다. –

관련 문제