Назад | Перейти на главную страницу

Невозможно вернуться к root из postgres: заставляет ввести пароль postgres, который он считает недействительным

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

sudo su - 

приводит к тому, что он спрашивает меня

[sudo] password for postgres:

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

Sorry, try again

Тогда я решил попробовать изменить пароль postgres, используя этот ответ:

ALTER USER postgres WITH PASSWORD 'postgres';

Вроде сработало, но после попытки снова переключиться на root мне все равно не удается.

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

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

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

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

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

Просто войдите снова в учетную запись, которую вы использовали для установки postgreSQL: либо напрямую root учетная запись (обычно не выполняется в Ubuntu) или (обычно выполняется в Ubuntu) пользователь, настроенный при установке системы, с uid 1000, что в Ubuntu разрешено по умолчанию делать sudo su -.