새로 설치 한 후 postgres의 기본 수퍼 유저 사용자 이름 / 암호는 무엇입니까?


답변:


533

주의 "$ sudo passwd postgres"를 통해 "postgres"에 대한 UNIX 암호를 변경하는 것에 대한 대답은 바람직하지 않으며 위험 할 수도 있습니다 .

그 이유는 다음과 같습니다. 기본적으로 "postgres"UNIX 계정이 잠겨 있으므로 비밀번호를 사용하여 로그인 할 수 없습니다. "sudo passwd postgres"를 사용하면 계정이 즉시 잠금 해제됩니다. 더군다나, "postgres"와 같이 암호를 약한 것으로 설정하면 큰 보안 위험에 노출됩니다. 예를 들어, UNIX 시스템에 로그인하기 위해 사용자 이름 / 암호 콤보 "postgres / postgres"를 시도하는 많은 봇이 있습니다.

Chris James 의 답변을 따르는 것이 좋습니다 .

sudo -u postgres psql postgres

# \password postgres

Enter new password: 

조금 설명하겠습니다. PostgreSQL 서버에 로그인하는 방법에는 일반적으로 두 가지가 있습니다.

  1. "psql"명령을 UNIX 사용자 (소위 IDENT / PEER 인증)로 실행하면 다음과 같습니다 sudo -u postgres psql.. 참고 sudo -uUNIX 사용자의 잠금을 해제하지 않습니다.

  2. PostgreSQL을 자신의 관리 사용자 이름 / 암호 (소위 TCP 인증)를 사용하여 TCP / IP 연결 (즉,에 의해 NOT 유닉스 암호).

따라서 UNIX 계정 "postgres"의 비밀번호를 설정 하지 않으려 고합니다. 기본적으로 그대로 둡니다.

물론 기본 설정과 다르게 구성하면 상황이 바뀔 수 있습니다. 예를 들어 PostgreSQL 비밀번호를 UNIX 비밀번호와 동기화하고 로컬 로그인 만 허용 할 수 있습니다. 그것은이 질문의 범위를 벗어납니다.


11
그렇다면 사용자 postgres를 어떻게 다시 잠그나요?
ultrajohn

3
@ultrajohn-사용하는 배포판에 따라 다르지만 비밀번호 대신 / etc / passwd를 편집하여 *를 입력 할 수 있습니다.
lzap

3
/etc/shadow비밀번호는 @lzap으로 유지됩니다.
Gringo Suave

2
/ etc / passwd에 / sbin / nologin을 설정하거나 / etc / shadow에 암호 대신 *를 넣을 수 있습니다.
lzap

34
passwd --postgres 잠금
Stéphane

166

명령 행에 입력하십시오.

$ sudo -u postgres psql postgres
postgres=# \password postgres

당신은 볼 수:

Enter new password: 
Enter it again:

7
Postgres 자체를 설치 한 직후에 pgadminIII (서버 프로파일 설정시)과 같은 도구를 사용하는 데 필요합니다. 감사!
limist

64

다음 postgres과 같이 user를 통해 postgres를 조작합니다 .

# su - postgres
$ createdb mydb
$ psql -s mydb
# create user someuser password 'somepassword';
# GRANT ALL PRIVILEGES ON DATABASE mydb TO someuser;

5
@ThierryLam su비밀번호를 입력하지 않고 postgres 사용자에게 루트 권한이 있어야 합니다. 대부분의 시스템에서 Postgres Unix 계정은 잠겨 있습니다 (암호는 작동하지 않습니다). 이는 해당 계정에 root 만 가능su 합니다.
voretaq7

2
sudo대신에 사용하십시오 su.
reinierpost

8
다음을 실행해야했습니다 sudo su - postgres. \
Jim Schubert

3
@Jim Schubert : 당신은 또한 실행할 수 있습니다 sudo -u postgres.
reinierpost

1
sudo -u postgres psql-또한 작동하므로 한 번에 수행 할 수 있습니다.
Ominus

21

Windows에서 다음을 수행하십시오 (중요 : Windows 관리자 계정 사용).

  1. 설치 후을 엽니 다 <PostgreSQL PATH>\data\pg_hba.conf.

  2. 이 두 줄을 수정하고 "md5"를 "trust"로 변경하십시오.

    host all all 127.0.0.1/32 md5

    host all all ::1/128 md5

  3. PostgreSQL 서비스를 다시 시작하십시오 (필요하지 않을 수도 있음).

  4. (선택 사항) 명령 프롬프트를 열고 코드 페이지를 1252로 변경하십시오.

    cmd.exe /c chcp 1252

  5. PostgreSQL에 로그인하십시오. 암호가 필요하지 않습니다 (대문자 -U 매개 변수에 유의하십시오).

    psql -U postgres

  6. (선택 사항, 보안상의 이유로 권장 됨) postgres사용자 비밀번호를 변경하십시오 .

    \password postgres

    에서 "trust"를 "md5"로 다시 변경하십시오 pg_hba.conf.


5

PostgreSQL 셸에 액세스하려는 경우 다음을 입력 할 수 있습니다.

psql -U postgres my_database

my_database데이터베이스 이름은 어디에 있습니까 ?

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.