Сброс пароля postgres linux

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

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

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

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

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

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

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

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

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

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

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

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

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

postgres — это стандартная учетная запись.

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

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

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

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

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

Комментарии

  • Денис Юрьевич прокомментировал MultiKey не устанавливается, отозван сертификат
  • Павел Urman прокомментировал Как закрыть крышку часов Tissot?
  • AdminWay прокомментировал kernel_task грузит проц на 100% на MacOS BigSur
  • Лев прокомментировал kernel_task грузит проц на 100% на MacOS BigSur
  • AdminWay прокомментировал kernel_task грузит проц на 100% на MacOS BigSur

Protocol major versions differ: 2 vs. 1

Как в Sublime Text закрыть все вкладки без сохранения?

Если Вы используете материал моего блога, то будьте добры поставьте ссылку.

Источник

PostgreSQL: Resetting password of PostgreSQL on Ubuntu [closed]

Want to improve this question? Update the question so it’s on-topic for Stack Overflow.

Closed 8 years ago .

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:

(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 .

Читайте также:  Индикатор уровня громкости для windows

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:

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

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 :

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.

Источник

Я забыл пароль, который ввел при установке postgres

Я либо забыл, либо набрал (во время установки) пароль для пользователя по умолчанию в Postgres. Кажется, я не могу его запустить и получаю следующую ошибку:

Есть ли способ сбросить пароль или как создать нового пользователя с привилегиями суперпользователя?

Я новичок в Postgres и только что установил его впервые. Я пытаюсь использовать его с Rails, и я использую Mac OS X Lion.

найти файл pg_hba.conf — он может быть расположен, например, в /etc/postgresql-9.1/pg_hba.conf .

cp pg_hba.conf pg_hba.conf-backup

поместите следующую строку (в качестве первой строки без комментариев или в качестве единственной):

Для всех случаев, описанных ниже (локальный и хост), в разделе репликации exepct, если у вас его нет, его необходимо изменить следующим образом, не должно присутствовать никакого подтверждения MD5 или Peer.

перезапустите сервер PostgreSQL (например, в Linux 🙂

sudo /etc/init.d/postgresql restart

Если служба (демон) не запускает отчеты в файле журнала:

локальные соединения не поддерживаются этой сборкой

ты должен измениться

local all all trust

host all all 127.0.0.1/32 trust

Теперь вы можете подключиться как любой пользователь. Подключитесь как суперпользователь postgres (обратите внимание, что имя суперпользователя может отличаться в вашей установке. pgsql Например, в некоторых системах оно называется . )

psql -U postgres

psql -h 127.0.0.1 -U postgres

(обратите внимание, что с первой командой вы не всегда будете связаны с локальным хостом)

Сбросить пароль (‘замените my_user_name на postgres, так как вы сбрасываете пользователя postgres )

ALTER USER my_user_name with password ‘my_secure_password’;

Восстановите старое, так pg_hba.conf как держать его очень опасно

cp pg_hba.conf-backup pg_hba.conf

перезагрузите сервер, чтобы запустить с сейфом pg_hba.conf

sudo /etc/init.d/postgresql restart

При подключении к postgres из командной строки не забудьте добавить в -h localhost качестве параметра командной строки. Если нет, postgres попытается подключиться в режиме аутентификации PEER.

Ниже показаны сброс пароля, неудачный вход в систему с аутентификацией PEER и успешный вход в систему с использованием TCP-соединения.

В противном случае:

Работа с -h localhost :

pg_hba.conf ( C:\Program Files\PostgreSQL\9.3\data Файл) изменился с тех пор эти ответы были даны. То , что работало для меня, в Windows, чтобы открыть файл и изменить METHOD от md5 до trust :

Затем, используя pgAdmin III, я вошел в систему без пароля и изменил postgres’ пароль пользователя , перейдя в File -> Change Password

Просто примечание, в Linux Вы можете просто запустить, sudo su — postgres чтобы стать пользователем postgres, и оттуда изменить то, что требуется с помощью psql.

Отредактируйте файл /etc/postgresql/ /main/pg_hba.conf и найдите следующую строку:

Читайте также:  Qtnetwork4 dll для windows 10

Отредактируйте строку и md5 в конце измените на trust и сохраните файл

Перезагрузите сервис postgresql

Это загрузит файлы конфигурации. Теперь вы можете изменить postgres пользователя, войдя в psql оболочку

Обновите postgres пароль пользователя

Отредактируйте файл /etc/postgresql/ /main/pg_hba.conf и trust вернитесь обратно md5 и сохраните файл

Перезагрузите сервис postgresql

Убедитесь, что смена пароля работает

У меня просто была эта проблема в Windows 10, и проблема в моем случае заключалась в том, что я просто работал, psql и по умолчанию он пытался войти в систему с моим именем пользователя Windows («Натан»), но не было пользователя PostgreSQL с таким именем, и это не говорило мне об этом.

Таким образом, решение состояло в том, чтобы запустить, psql -U postgres а не просто psql , и тогда пароль, который я ввел при установке, работал.

Добавление ответа для пользователя Windows для последней версии postgres (> 10),

Перейдите к месту установки postgres и выполните поиск pg_hba.conf , вы найдете его в ..\postgres\data\pg_hba.conf

Откройте этот файл с помощью блокнота, найдите эту строку,

Измените метод с md5 на доверие,

Теперь перейдите в SQL Shell (PSQL) и оставьте все пустым,

На этот раз он не будет запрашивать пароль, и вы войдете в систему,

Теперь запустите эту строку, ALTER USER yourusername WITH SUPERUSER

Теперь вы можете покинуть оболочку с помощью \ q

Снова перейдите в файл pg_hba.conf, снова измените МЕТОД с доверия на md5 и сохраните его.

Теперь войдите под своим новым пользователем и паролем, и вы можете проверить \ du для его атрибутов.

Для установки Windows создается пользователь Windows. И «psql» использует этого пользователя для подключения к порту. Если вы измените пароль пользователя PostgreSQL, он не изменит пароль Windows. Командная строка juste ниже работает, только если у вас есть доступ к командной строке.

Вместо этого вы можете использовать приложение Windows GUI «c: \ Windows \ system32 \ lusrmgr.exe». Это приложение для управления пользователями, созданными Windows. Теперь вы можете изменить пароль.

Что я сделал, чтобы решить ту же проблему:

Откройте файл pg_hba.conf с помощью редактора gedit из терминала:

Он попросит пароль. Введите пароль для входа администратора. Это откроет Gedit с файлом. Вставьте следующую строку:

Сохраните и закройте его. Закройте терминал, снова откройте его и выполните команду:

Теперь вы войдете в консоль psql. Теперь измените пароль, введя это:

Если он говорит, что пользователь не существует, то вместо ALTER использования CREATE .

Наконец, удалите эту строку, вставленную в pg_hba, и сохраните ее.

Если вы находитесь в Windows, вы можете просто запустить

и войдите в postgres с помощью postgres / postgres в качестве пользователя / пароля

Файл .pgpass в домашнем каталоге пользователя или файл, на который ссылается PGPASSFILE, может содержать пароли, которые должны использоваться, если для соединения требуется пароль (и в противном случае пароль не был указан). В Microsoft Windows файл называется% APPDATA% \ postgresql \ pgpass.conf (где% APPDATA% относится к подкаталогу Application Data в профиле пользователя).

Этот файл должен содержать строки следующего формата:

Имя хоста: порт: база данных: имя пользователя: пароль

(Вы можете добавить комментарий напоминания в файл, скопировав строку выше и поставив перед ней знак #.) Каждое из первых четырех полей может быть буквальным значением или *, что соответствует чему угодно. Будет использовано поле пароля из первой строки, соответствующее текущим параметрам соединения. (Поэтому при использовании подстановочных знаков ставьте сначала более конкретные записи.) Если запись должна содержать: или \, экранируйте этот символ с помощью. Имя хоста localhost совпадает с соединениями TCP (имя хоста localhost) и сокета домена Unix (pghost empty или каталог сокета по умолчанию), поступающими с локального компьютера. На резервном сервере имя базы данных репликации соответствует подключению потоковой репликации к главному серверу. Поле базы данных имеет ограниченную полезность, поскольку пользователи имеют одинаковый пароль для всех баз данных в одном кластере.

Читайте также:  Яндекс диск mac os вылетает

В системах Unix разрешения на .pgpass должны запрещать любой доступ к миру или группе; достигните этого командой chmod 0600

/ .pgpass. Если разрешения менее строгие, чем этот, файл будет игнорироваться. В Microsoft Windows предполагается, что файл хранится в безопасном каталоге, поэтому никаких специальных проверок разрешений не производится.

Источник

How to reset your forgotten password in PostgreSQL

The moment you realize the problem

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:

Exit fullscreen mode

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.

Exit fullscreen mode

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

Exit fullscreen mode

and we restart our server

Exit fullscreen mode

Now PostgreSQL doesn’t ask a password and we are allowed to connent with user postgres

Источник

Reset Forgotten Password For postgres User

Summary: in this tutorial, we will show you step by step how to reset the password of the postgres user in PostgreSQL.

For some reason, after installing PostgreSQL, you may forget the password of the postgres user. In this case, you need to know how to reset the password.

PostgreSQL uses the pg_hba.conf configuration file stored in the database data directory (e.g., C:\Program Files\PostgreSQL\12\data on Windows) to control the client authentication. The hba in pg_hba.conf means host-based authentication.

To reset the password for the postgres user, you need to modify some parameters in this configuration file, login as postgres without a password, and reset the password.

The following steps show you how to reset a password for the postgres user:

Step 1. Backup the pg_hba.conf file by copying it to a different location or just rename it to pg_hba.conf.bk

Step 2. Edit the pg_dba.conf file and change all local connections from md5 to trust. By doing this, you can log in to the PostgreSQL database server without using a password.

Step 3. Restart the PostgreSQL server. If you are on Windows, you can restart the PostgreSQL from Services:

Or run the following command from the window terminal:

The «C:\Program Files\PostgreSQL\12\data» is the data directory.

Step 4. Connect to PostgreSQL database server using any tool such as psql or pgAdmin:

PostgreSQL will not require a password to login.

Step 5. Execute the following command to set a new password for the postgres user.

Step 6. Restore the pg_dba.conf file, restart the PostgreSQL database server and connect to the PostgreSQL database server with the new password.

In this tutorial, you have learned how to reset the password of the postgres user.

Источник

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