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