database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
ㆍPostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
PostgreSQL Q&A 3954 게시물 읽기
No. 3954
Re: password에 대한 두가지 질문?
작성자
정재익(advance)
작성일
2002-02-01 01:44
조회수
2,260

대략 아는대로만 설명을 드리겠습니다. 다음에 설명 드리는 글은 저가 나름대로 이해하고 있는 것을 설명 드린 것이며, 모두 다 테스트 해 보지 못한점 미리 밝혀 드립니다. 그러므로 틀린 답변이 될 가능성도 있다고 생각합니다.

 

혹시라도 테스트후 틀린 부분이 있다며 스스럼 없이 밝혀 주시면 이글을 읽는 모든이에게 도움이 될 것으로 생각됩니다.

 

PostgreSQL 로 접근하는 방법은 두가지가 있습니다. 하나는 Unix Domain Socket 를 통해서 PostgreSQL Server 로 접근하는 방법이고, 또 하나는 TCP/IP 포트를 통해서 접근하는 방법입니다.

 

이 두가지 방법의 결정은 $PGDATA/pg_hba.conf 파일에서 결정됩니다.

그러면 $PGDATA/pg_hba.conf 파일의 내용을 살펴 보도록 하겠습니다.

local        all                                                           trust
host         all         127.0.0.1     255.255.255.255            trust
host         all         211.123.123.123     255.255.255.255   trust

이와 유사한 라인이 보일 것입니다.

 

여기서 제일 첫줄의

local        all                                                           trust

이 UNIX Domain Socket 를 통한 접근 방식을 통제 해 주는 행입니다.

즉 로컬에서 접속시에는 Unix Domain Socket 으로 접근을 하며, 항상 접속을 허용해 주라는 뜻이 되지요. 이렇게 설정되어 있는 경우에는 pg_shadow 내의 password 를 아무리 설정해도 localhost 에서 접근하는 경우에는 무시하고 그냥 무조건 접근 허용을 해 주게 됩니다.

 

테스트를 위해서 다음과 같이 해 보시기 바랍니다.

psql -U postgres template1

update pg_shadow set passwd='aaa' where usename='postgres';

 

그리고 나서 pg_hba.conf 파일을 다음과 같이 수정하십시오.

 

local        all                                                           password

 

그리고 나서 다시 접근해 봅니다.

 

psql -U postgres template1

 

이제는 password 에 'aaa' 라고 넣어 주어야 만이 접근이 될 것입니다.

 

즉 서버로의 접근은 일차적으로 pg_hba.conf 파일에서 조절을 하고 다음으로 pg_shadow 테이블의 내용을 참조로 한다는 것입니다.

 

그리고 만약 다음과 같이 입력을 하면 어떻게 될까요.

 

psql -h localhost -U postgres template1

 

이럴 경우에는 Unix Domain Socket 을 통해 접속하질 않습니다. TCP/IP 포트를 통해서 DB server 로 접근을 하게 됩니다. 이유는 localhost 라고 하는 디비 서버를 명시해 주었기 때문에 넷트워을 통한 접속을 시도하기 때문입니다. 이럴 경우에는 nslookup localhost 하여 나오는 IP 주소에 대해 pg_hba.conf 에서 명시한 대로 접속을 하게 됩니다. 일반적으로 127.0.0.1 로 IP 가 지정되어 있을 것이니...

 

$PGDATA/pg_hba.conf 파일에

host         all         127.0.0.1     255.255.255.255            trust

로 되어 있다면 무조건 접속이 허용되겠지요.

 

도움이 되셨길 바랍니다.

 

그리고 pg_hba.conf 파일을 수정한 후에는 postmaster 를 다시 기동하지 않아도 됩니다.

 

-- 윤재호 님이 쓰신 글:

>> 첫번째 질문입니다.

>> 제가 alter user로 패스워드를 주었습니다.

>> ctums=# select * from pg_shadow;

>> usename | usesysid | usecreatedb | usetrace | usesuper | usecatupd | passwd | valuntil

>> ----------+----------+-------------+----------+----------+-----------+------------+----------

>> postgres | 508 | t | t | t | t | |

>> ctums | 509 | t | f | t | t | ctums2127# |

>> 패스워드는 잘 들어간것 같습니다.

>> 저는 C와 연동을 하고 있습니다.

>> C library를 보니 PQsetdbLogin(pghost, pgport, pgoptions, pgtty, dbName, userName, passWord); 접속하는 라이브러리가 있던군요.

>> dbName이나 userName이 틀리면 접속이 안 되지만, 패스워드는

>> 틀려도 잘 접속이 됩니다.

>> 아님 데몬를 다시 띄우면 되나요? (이건가)

>> 도무지 왜 그런지 모르겠군요.

>> 아시는분 답변 부탁드립니다.

>>

>> 두번째 질문입니다.

>> 위와 유사한 질문인데, 위와같이 패스워드를 주었으면

>> psql ctums하면 패스워드를 물어 봐야 하는것 아닌지요?

>> psql과 psql ctums를 하면 무조건 접속이 됩니다.

>> 단지 postgres 계정으로 createdb ctums하고 createuser ctums를 했습니다.

>> 무슨 문제가 될 소지가 있는지?

>> 좋은 방법을 알고 계신 고수님들 부탁드립니다.

>> 이것 역시 아님 데몬을 다시 띄우면 해결 되나요?

>> 지금까지 읽어주신 모든분께 감사드립니다.

[Top]
No.
제목
작성자
작성일
조회
3962Windows용 postgreSQL 처음에 어떻게 시작하는지..
chu in su
2002-02-04
1730
3963┕>Re: Windows용 postgreSQL 처음에 어떻게 시작하는지..
정재익
2002-02-04 14:22:19
1852
3964 ┕>에러가 이렇게 뜨는데여...
chu in su
2002-02-04 15:11:51
1894
3966  ┕>Re: 에러가 이렇게 뜨는데여...
정재익
2002-02-04 15:22:27
2216
3968   ┕>Re: Re: 그다음에는 어떻게 하져? 테이블을 만들어야하는데..
chu in su
2002-02-04 15:46:10
1473
3959insert가 안 됩니다. 도와주세요.
김효정
2002-02-02
1771
3960┕>Re: insert가 안 됩니다. 도와주세요.
정재익
2002-02-03 09:18:14
1523
3951배열입력후 업데이트에서 의문점이 있어서요 ^^;
소타
2002-01-31
1794
3952┕>Re: Array 입력 및 취급 방법 [2]
정재익
2002-01-31 22:05:34
1911
3950password에 대한 두가지 질문?
윤재호
2002-01-31
1796
3954┕>Re: password에 대한 두가지 질문?
정재익
2002-02-01 01:44:04
2260
3955 ┕>Re: Re: 정재익님 답변 정말 감사드립니다.
윤재호
2002-02-01 11:02:34
1678
3956  ┕>Re: Re: Re: 유용한 정보 얻고 가면서 하나 덧달고 갑니다 ^^
장원준
2002-02-01 15:31:25
1779
3958   ┕>Re: Re: Re: Re: 유용한 정보 얻고 가면서 하나 덧달고 갑니다 ^^
정재익
2002-02-01 21:43:10
1694
3948데이터 베이스의 소유권은 어떻게 결정하나요?
장원준
2002-01-31
1598
3949┕>Re: 데이터 베이스의 소유권은 어떻게 결정하나요?
정재익
2002-01-31 16:22:20
1778
3947postgresql + delphi에서 odbc vs zeos...
iron
2002-01-31
2101
3953┕>Re: postgresql + delphi에서 odbc vs zeos... [1]
정재익
2002-02-01 01:13:18
1977
3957 ┕>Re: Re: postgresql + delphi에서 odbc vs zeos... [2]
iron
2002-02-01 20:30:06
2261
3945postgre JDBC..
히네
2002-01-31
1610
3946┕>Re: postgre JDBC..
정재익
2002-01-31 10:48:17
1582
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.019초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다