Postgresql как сбросить пароль linux

PostgreSQL: Resetting password of PostgreSQL on Ubuntu [closed]

In Ubuntu, I installed PostgreSQL database and created a superuser for the server. If I forgot the password of the postgresql superuser, how can I reset it (the password) for that user? I tried uninstalling it and then installing it again but the previously created superuser is retained.

1 Answer 1

Assuming you’re the administrator of the machine, Ubuntu has granted you the right to sudo to run any command as any user.
Also assuming you did not restrict the rights in the pg_hba.conf file (in the /etc/postgresql/9.1/main directory), it should contain this line as the first rule:

# Database administrative login by Unix domain socket local all postgres peer 

(About the file location: 9.1 is the major postgres version and main the name of your «cluster». It will differ if using a newer version of postgres or non-default names. Use the pg_lsclusters command to obtain this information for your version/system).

Anyway, if the pg_hba.conf file does not have that line, edit the file, add it, and reload the service with sudo service postgresql reload .

Then you should be able to log in with psql as the postgres superuser with this shell command:

Once inside psql, issue the SQL command:

ALTER USER postgres PASSWORD 'newpassword'; 

In this command, postgres is the name of a superuser. If the user whose password is forgotten was ritesh , the command would be:

ALTER USER ritesh PASSWORD 'newpassword'; 

Keep in mind that you need to type postgres with a single S at the end

If leaving the password in clear text in the history of commands or the server log is a problem, psql provides an interactive meta-command to avoid that, as an alternative to ALTER USER . PASSWORD :

Читайте также:  Создать ssh key linux

It asks for the password with a double blind input, then hashes it according to the password_encryption setting and issue the ALTER USER command to the server with the hashed version of the password, instead of the clear text version.

Источник

Reset the password of the PostgreSQL superuser

This article describes the detailed steps to reset the password of the PostgreSQL superuser.

In PostgreSQL, postgres is the superuser. If you have forgotten the password of postgres , you can reset it by the following steps.

  1. Locate the configuration file pg_hba.conf for the PostgreSQL database server. On Windows, the configuration files for the PostgreSQL database server are located in the data directory of the PostgreSQL installation directory, for example: C:\Program Files\PostgreSQL\14\data . On Linux, the configuration file for the PostgreSQL database server is located at /etc/postgresql/14/main/pg_hba.conf .
  2. Back up the configuration file before modifying it so that you can restore it later.
cp pg_hba.conf pg_hba.conf.bak 
local all all peer # IPv4 local connections: host all all 127.0.0.1/32 trust # IPv6 local connections: host all all ::1/128 trust # Allow replication connections from localhost, by a user with the # replication privilege. local replication all peer host replication all 127.0.0.1/32 trust host replication all ::1/128 trust
ALTER USER postgres WITH PASSWORD 'new_password'; 

Conclusion

This article explains the detailed steps to reset the password of superuser postgres .

Источник

How to reset your forgotten password in PostgreSQL

It’s a good practice even for your local DB server to provide a password for each user. PostgreSQL’s default user (who is also an admin) is postgres . A standard method to get access to our DB is using psql command via terminal (I’m running Manjaro Linux). So, we type:

Password Authentication Failed

We enter our password and we get the message

Don’t Panic!

First of all, we must find the «PostgreSQL Client Authentication Configuration File», which has the name pg_hba.conf . In Manjaro, it lives in path /var/lib/postgres/data/pg_hba.conf . Be careful that it is required to have root permissions.

sudo nano /var/lib/postgres/data/pg_hba.conf 

PostgreSQL Client Authentication Configuration File

We change the md5 authentication in «local» connection to trust

sudo systemctl restart postgresql 

Now PostgreSQL doesn’t ask a password and we are allowed to connent with user postgres Trusted Connection Next step is to reset the password Reset Password We exit psql , we turn back pg_hba.conf to it’s previous state ( md5 authentication) and we restart the server. We are able to connent using our new password for user postgres . Successful Authentication Originally published at https://www.codingnotebook.eu/postgresql-reset-password/

Источник

Сбросить пароль на PostgreSQL в Debian

Очень часто при появлении нового системного администратора, есть сервера, к которым нет доступа. Пароль от сервера есть у предыдущего администратора, но говорить он его по какой-то причине отказывается. Так произошло и у нас. Есть сервер PostgreSQL. Он работает, а пароля от суперпользователя ни у кого нет.

В PostgreSQL можно с легкостью все восстановить.

В любой базе данных есть режим так называемого «локального доступа». К примеру, в MySQL восстановить пароль можно так.

Перевести PostgreSQL в режим «локального доступа»

В Debian все конфигурационные файлы PostgreSQL находится в директории /etc/postgresql/9.6/main/, где 9.6 — это версия. У Вас она, возможно, будет другой.

sudo nano /etc/postgresql/9.6/main/pg_hba.conf

Комментируем одну строку и ниже добавляем другую:

# local all postgres peer local all postgres trust
sudo service postrgresql restart

Далее заходим под пользователем без пароля:

Чтобы вернуть все как было, нужно выполнить все шаги в обратном порядке.

Первое знакомство с «новым» сервером PostgreSQL

Посмотреть список всех БД

\l Список баз данных Имя | Владелец | Кодировка | LC_COLLATE | LC_CTYPE | Права доступа -----------+----------+-----------+-------------+-------------+----------------------- CB | postgres | UTF8 | ru_RU.UTF-8 | ru_RU.UTF-8 | postgres | postgres | UTF8 | ru_RU.UTF-8 | ru_RU.UTF-8 | template0 | postgres | UTF8 | ru_RU.UTF-8 | ru_RU.UTF-8 | =c/postgres + | | | | | postgres=CTc/postgres template1 | postgres | UTF8 | ru_RU.UTF-8 | ru_RU.UTF-8 | =c/postgres + | | | | | postgres=CTc/postgres (4 строки)

В листинге выше «боевая» база данных – это CB.

Посмотреть список пользователей

select * from pg_user; usename | usesysid | usecreatedb | usesuper | userepl | usebypassrls | passwd | valuntil | useconfig ----------+----------+-------------+----------+---------+--------------+----------+----------+----------- postgres | 10 | t | t | t | t | ******** | | (1 строка)

Меняем пароль пользователю postgres

ALTER USER postgres WITH PASSWORD 'new_password';

Добавляем нового пользователя в Postgre

Для дальнейшего администрирования, необходимо иметь полный доступ к базам данных PostgreSQL. Для этого правильнее будет создать свою учетную запись.

CREATE USER user WITH PASSWORD 'myPassword'; CREATE ROLE

Добавляем права на доступ к базе данных. В нашем примере это база CB. Добавляем нашему пользователю доступ:

GRANT ALL PRIVILEGES ON DATABASE "CB" to user; GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO user;

Если требуется права суперпользователя, то:

ALTER USER user WITH SUPERUSER;

Источник

POSTGRESQL — КАК СБРОСИТЬ ПАРОЛЬ POSTGRES

PostgreSQL - как сбросить пароль postgres

В сегодняшней статье мы поговорим о том как сбросить пароль от основной учетной записи postgres в СУБД PostgreSQL. Бывают случаи когда вы случайно можете забыть либо потерять пароль от учетной записи postgres, но это не беда, его можно очень легко сбросить.

1. Меняем порт подключения к базе данных.

На всякий случай в целях безопасности перед тем как править файл подключения pg_hba.conf мы сменим порт подключения с 5432 на 5433. Для этого нам нужно найти в файле postgresql.conf параметр PORT и поменять его.

postgresql_reset_postgres_password

После изменения порта нужно обязательно перезапустить базу данных.

2. Правим файл подключения pg_hba.conf.

Основной файл в СУБД PostgreSQL который отвечает за доступ к базам данных называется pg_hba.conf. Вам нужно его найти и добавить в него:

postgresql_reset_postgres_password

Этой строчкой мы указываем что локальный пользователь сервера может подключиться в базе данных без ввода пароля от учетной записи postgres.

После внесенной строки нам нужно перезапустить базу данных либо выполнить запрос в консоли который перечитает файл pg_hba.conf и применим все изменения.

sql> SELECT pg_reload_conf();

postgresql_reset_postgres_password

3. Устанавливаем новый пароль для учетной записи postgres.

Теперь мы можем установить новый пароль для учетной записи postgres, для этого подключайтесь к консоли psql и выполните команду:

sql> ALTER USER postgres WITH PASSWORD ‘Qwerty123’;

postgresql_reset_postgres_password

4. Возвращаем все как было.

После того как мы поменяли пароль не забываем все вернуть обратно, а именно порт который мы поменяли перед роботами.

postgresql_reset_postgres_password

Еще обязательно удалите ту строку подключения которую мы вставляли в файл pg_hba.conf, а то получится так что мы установили новый пароль для учетной записи postgres, но все равно доступ к базе данных будет доступен без ввода пароля.

Всем спасибо, я надеюсь что вам моя статья хоть чем-то помогла.

Последнее обновление: 20 Июня 2023 г.

Источник

Оцените статью
Adblock
detector