postgres에서 루트로 돌아갈 수 없습니다: 유효하지 않은 postgres 비밀번호를 강제로 입력해야 합니다.

postgres에서 루트로 돌아갈 수 없습니다: 유효하지 않은 postgres 비밀번호를 강제로 입력해야 합니다.

Ubuntu에 postgres를 설치했고 postgres 사용자로 전환되었습니다. 생성된 데이터베이스를 연 psql다음 다시 루트로 전환하기로 결정했습니다. 그러나 다음은 허용되지 않습니다.

sudo su - 

결과적으로 나에게 묻는다

[sudo] password for postgres:

나는 단지 얻기 위해 입력을 시도했습니다.

Sorry, try again

그런 다음 다음을 사용하여 postgres 비밀번호를 변경하기로 결정했습니다.이 답변:

ALTER USER postgres WITH PASSWORD 'postgres';

겉으로는 작동하는 것 같았지만 다시 루트로 전환하려고 시도한 후에도 여전히 작동하지 않습니다.

답변1

두 가지 사항을 혼동하고 있는 것 같습니다.

  • postgres시스템 사용자
  • postgresSQL 데이터베이스 사용자

둘 사이의 유일한 관계는 PostgreSQL 설치 시데이터 베이스사용자는 postgres다음을 통해 인증됩니다.또래인증 방법: 데이터베이스 서버는체계데이터베이스 사용자로서 데이터베이스에 대한 접근을 요청하는 사용자를 postgres라고도 한다 postgres. 또한 데이터베이스 서버 자체도 시스템 사용자로 실행됩니다 postgres.

데이터베이스에서 시스템을 변경하는 것은 불가능합니다. 데이터베이스 계정에 비밀번호를 제공한다고 해서 데이터베이스 계정이 변경되지는 않습니다.체계사용자 postgres는 없습니다sudo권한이 있으며 가장 확실하게 비활성화된 비밀번호이므로 루트만 기본적으로 비밀번호를 사용할 수 있습니다(그 반대는 불가능).

따라서 가 되고 싶다면 시스템 계정 root에서는 이를 수행할 수 없으며 postgres이는 좋은 것입니다. 데이터베이스 서버(시스템 사용자로 실행되는 프로세스 postgres)가 손상되면 다음으로 에스컬레이션할 방법이 없습니다.root 에서 액세스 그것.

postgreSQL을 설치하는 데 사용한 계정에 다시 로그인하면 됩니다. 직접 계정 root(보통 Ubuntu에서는 수행되지 않음) 또는 시스템 설치 시 구성된 사용자(보통 Ubuntu에서는 수행됨), uid 1000(Ubuntu에서는 기본적으로 허용됨) 할 것 sudo su -.

답변2

postgres 사용자를 종료하려면 "exit"를 입력하면 됩니다.

루트 사용자로 돌아갑니다.

관련 정보