Ubuntu에 postgres를 설치했고 postgres 사용자로 전환되었습니다. 생성된 데이터베이스를 연 psql
다음 다시 루트로 전환하기로 결정했습니다. 그러나 다음은 허용되지 않습니다.
sudo su -
결과적으로 나에게 묻는다
[sudo] password for postgres:
나는 단지 얻기 위해 입력을 시도했습니다.
Sorry, try again
그런 다음 다음을 사용하여 postgres 비밀번호를 변경하기로 결정했습니다.이 답변:
ALTER USER postgres WITH PASSWORD 'postgres';
겉으로는 작동하는 것 같았지만 다시 루트로 전환하려고 시도한 후에도 여전히 작동하지 않습니다.
답변1
두 가지 사항을 혼동하고 있는 것 같습니다.
postgres
시스템 사용자postgres
SQL 데이터베이스 사용자
둘 사이의 유일한 관계는 PostgreSQL 설치 시데이터 베이스사용자는 postgres
다음을 통해 인증됩니다.또래인증 방법: 데이터베이스 서버는체계데이터베이스 사용자로서 데이터베이스에 대한 접근을 요청하는 사용자를 postgres
라고도 한다 postgres
. 또한 데이터베이스 서버 자체도 시스템 사용자로 실행됩니다 postgres
.
데이터베이스에서 시스템을 변경하는 것은 불가능합니다. 데이터베이스 계정에 비밀번호를 제공한다고 해서 데이터베이스 계정이 변경되지는 않습니다.체계사용자 postgres
는 없습니다sudo권한이 있으며 가장 확실하게 비활성화된 비밀번호이므로 루트만 기본적으로 비밀번호를 사용할 수 있습니다(그 반대는 불가능).
따라서 가 되고 싶다면 시스템 계정 root
에서는 이를 수행할 수 없으며 postgres
이는 좋은 것입니다. 데이터베이스 서버(시스템 사용자로 실행되는 프로세스 postgres
)가 손상되면 다음으로 에스컬레이션할 방법이 없습니다.root
에서 액세스 그것.
postgreSQL을 설치하는 데 사용한 계정에 다시 로그인하면 됩니다. 직접 계정 root
(보통 Ubuntu에서는 수행되지 않음) 또는 시스템 설치 시 구성된 사용자(보통 Ubuntu에서는 수행됨), uid 1000(Ubuntu에서는 기본적으로 허용됨) 할 것 sudo su -
.
답변2
postgres 사용자를 종료하려면 "exit"를 입력하면 됩니다.
루트 사용자로 돌아갑니다.