Can't go back to root from postgres: forces to enter postgres password which it finds invalid

Can't go back to root from postgres: forces to enter postgres password which it finds invalid

Я установил postgres на Ubuntu, и он переключил меня на пользователя postgres. Я открыл, psqlсоздал базу данных, а затем решил переключиться обратно на root. Однако он не позволяет мне:

sudo su - 

в результате он спрашивает меня

[sudo] password for postgres:

который я пытался ввести только для того, чтобы получить

Sorry, try again

Затем я решил попробовать изменить пароль postgres с помощьюэтот ответ:

ALTER USER postgres WITH PASSWORD 'postgres';

Казалось бы, это сработало, но после повторной попытки получить root-доступ мне это по-прежнему не удается.

решение1

Похоже, вы путаете две вещи:

  • postgresпользователь системы
  • postgresпользователь базы данных SQL

Единственная связь между ними заключается в том, что при установке PostgreSQLбаза данныхПользователь postgresаутентифицирован с помощьювглядетьсяМетод аутентификации: сервер базы данных проверяет, чтосистемапользователь, запрашивающий доступ к базе данных как пользователь базы данных, postgresтакже называется postgres. Также сам сервер базы данных работает как системный пользователь postgres.

Из базы данных невозможно изменить систему. Предоставление пароля учетной записи базы данных не изменит тот факт, чтосистемапользователь postgresне имеетсудоправа и, конечно же, отключенный пароль, что позволяет использовать его по умолчанию только пользователю root (но не наоборот).

So, if you want to become root, you cannot do this from the postgres system account, and that's a good thing: should ever the database server (its processes also running as system user postgres) be compromised, there will be no way to escalate to root access from it.

Just login again to the account you used to install postgreSQL: either directly the root account (usually not done on Ubuntu) or (usually done on Ubuntu) the user configured at installation of the system, with uid 1000, which on Ubuntu is allowed by default to do sudo su -.

решение2

If you want to exit the postgres user, just type "exit".

It will go back to the root user

Связанный контент