Я установил 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 -
.