사용자 postgres에 대한 암호 요구 사항을 제거


46

설치시 PostgreSQL에는 db 루트 사용자 (postgres)의 비밀번호가 없음을 이해합니다.

postgres=# select usename, passwd is null from pg_shadow;
 usename  | ?column? 
----------+----------
 postgres | t
(1 row)

... 그리고 다음과 같이 설정하는 것이 좋습니다.

alter role postgres password '<<very-secret>>';

(그리고 pg_hba.conf그에 따라 파일 을 업데이트하십시오 )

내 질문은 : user에 암호가 필요하지 않은 이전 상황으로 되돌릴 때 사용하는 SQL은 무엇입니까 postgres?

일반적으로 역할에 대한 비밀번호 요구 사항을 제거하려면 어떻게해야합니까? 암호를 변경하는 방법을 묻지 않고 암호 요구 사항을 제거하는 방법을 묻습니다 ( passwdtable의 null 열 pg_shadow).

답변:


55

비밀번호가 필요한지 pg_shadow여부와 관련이 있는지 여부 와 실제로 사용자에 대해 비밀번호가 정의되어 있는지 여부 예, 알아요 이상하네요

pg_hba.conf인증 방법을 제어합니다. 비밀번호를 요청하려면 md5인증을 사용하십시오 . 다른 사람에게 비밀번호없이 로그인을 허용하려면을 사용하십시오 trust. 운영 체제에서 PostgreSQL과 동일한 사용자 이름을 요구하려면 peer(UNIX, 로컬 연결에만 해당) 또는 sspi(Windows)를 사용하십시오.

암호가 설정되어 있지만 pg_hba.confPostgreSQL에 암호를 요구하지 않으면 암호는 무시됩니다.

경우 pg_hba.conf암호를 물어 PostgreSQL을 알려줍니다하지만 아무도 세트가있다, 모든 로그인 시도가 공급되는 것을 비밀에 상관없이 실패합니다.


12

postgres 사용자는 기본적으로 비밀번호가 없습니다. 사용자 비밀번호를 제거하려면 (이 경우 postgres 사용자 / 역할의 경우) :

alter role postgres password null;

또한 세부 정보보기 trust에서 인증을 설정해야합니다. pg_hba.conf[ https://dba.stackexchange.com/a/19657/52550]


3
지금은 psql에 액세스 할 수 없습니다
Roberth Solís

3
네, 이제 비밀번호를 요청하고 로그인 할 수 없습니다 ...
Amalgovinus

1
이 명령은 @Amalgovinus가 말한 것처럼 postgres에서 나를 금지합니다.
Nam G VU

1
당신은 오류로 인해하지 액세스 할 수 있다면 psql: fe_sendauth: no password supplied, 당신의 수정 C:\Program Files\PostgreSQL\10\data\pg_hba.conf및 교체 md5와 함께 trust127.0.0.1/32에서 IPv4 local connections::1/128에서IPv6 local connections
마르코 Lackovic

1

이것은 나를 위해 일했다 :

alter role postgres password '';


4
postgres 10 에서이 작업을 수행하면 "주의 : 빈 문자열은 유효한 암호가 아니며 암호를 지우는 중입니다"라는 오류가 발생합니다. 그러나 어쨌든 내 비밀번호가 변경되어 아무것도 로그인 할 수 없습니다! 이런 씨발!!
Amalgovinus

@Amalgovinus lalligood 답변에 대한 내 의견 참조
Marco Lackovic
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.