Как сменить пароль postgres linux

Содержание
  1. Как работать с пользователями в PostgreSQL
  2. Создание нового пользователя
  3. 1. Создание пользователя
  4. 2. Назначение прав на использование базы данных
  5. 3. Настройка файла pg_hba.conf
  6. 4. Проверка
  7. Настройка прав доступа к базе с помощью групп
  8. Редактирование пользователя
  9. 1. Смена пароля
  10. Удаление пользователей и групп
  11. Назначение особых прав пользователям PostgreSQL
  12. Учетная запись для резервного копирования
  13. Графический интерфейс
  14. Сбросить пароль на PostgreSQL в Debian
  15. Перевести PostgreSQL в режим «локального доступа»
  16. Первое знакомство с «новым» сервером PostgreSQL
  17. Посмотреть список всех БД
  18. Посмотреть список пользователей
  19. Меняем пароль пользователю postgres
  20. Добавляем нового пользователя в Postgre
  21. Комментарии
  22. Пароль пользователя postgres — как задать и изменить пароль
  23. Изменить пароль пользователя Postgres
  24. Как изменить пароль пользователя PostgreSQL?
  25. 11 ответов
  26. PostgreSQL: Resetting password of PostgreSQL on Ubuntu [closed]
  27. 1 Answer 1

Как работать с пользователями в PostgreSQL

Часть нижеописанных операций нужно выполнять в командной оболочке PostgreSQL. Она может быть запущена от пользователя postgres — чтобы войти в систему от данного пользователя, вводим:

* если система выдаст ошибку, связанную с нехваткой прав, сначала повышаем привилегии командой sudo su или su.

Теперь запускаем командную оболочку PostgreSQL:

$ psql -Upostgres template1

* в данном примере, вход выполняется от учетной записи postgres к шаблонной базе template1.

Для просмотра всех пользователей СУБД:

=# select * from pg_user;

Создание нового пользователя

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

1. Создание пользователя

а) Добавление новой роли (пользователя) из оболочки SQL:

=# CREATE USER dmosk WITH PASSWORD ‘myPassword’;

* в примере создана роль dmosk с паролем myPassword.

б) Добавление новой роли (пользователя) из командной строки Linux:

createuser -P dmosk

2. Назначение прав на использование базы данных

Даем права на базу командой:

=# GRANT ALL PRIVILEGES ON DATABASE «database1» to dmosk;

Теперь подключаемся к базе, к которой хотим дать доступ:

* в примере подсоединимся к базе с названием database1.

а) Так мы добавим все права на использование всех таблиц в базе database1 учетной записи dmosk:

database1=# GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO «dmosk»;

* в большинстве случаев, используется схема по умолчанию public. Но администратор может создать новую схему. Это нужно учитывать при назначении прав.

б) Также можно дать доступ к базе для определенных таблиц:

database1=# GRANT ALL PRIVILEGES ON TABLE table1 IN SCHEMA public TO «dmosk»;

* в данном примере мы даем права на таблицу table1.

Выходим из SQL-оболочки:

3. Настройка файла pg_hba.conf

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

Для начала смотрим путь расположения данных для PostgreSQL:

В ответ мы получим, что-то на подобие:

* в данном примере /var/lib/pgsql/9.6/data/ — путь расположения конфигурационных файлов.

Добавляем права на подключение нашему созданному пользователю:

.
# IPv4 local connections:
host all dmosk 127.0.0.1/32 md5
.

* в данном примере мы разрешили подключаться пользователю dmosk ко всем базам на сервере (all) от узла 127.0.0.1 (localhost) с требованием пароля (md5).
* необходимо, чтобы данная строка была выше строки, которая прописана по умолчанию
host all all 127.0.0.1/32 ident.

После перезапускаем службу:

systemctl restart postgresql-9.6

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

4. Проверка

Для теста пробуем подключиться к Postgre с помощью созданного пользователя:

psql -Udmosk template1 -h127.0.0.1

Настройка прав доступа к базе с помощью групп

Сначала создадим групповую роль:

Читайте также:  Windows 1909 update to 2004

=# CREATE ROLE «myRole» NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE NOREPLICATION;

* данной командой создана группа myRole с минимальными правами.

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

=# GRANT «myRole» TO dmosk;

Подключимся к базе данных, для которой хотим настроить права

и предоставим все права для группы myRole всем таблицам базы database1

database1=# GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO GROUP «myRole»;

Редактирование пользователя

1. Смена пароля

Рассмотрим несколько примеров смены пароля пользователя.

=# ALTER USER postgres PASSWORD ‘password’

* в данном примере мы зададим пароль password для пользователя postgres.

С запросов ввода пароля:

* после ввода данной команды система потребует дважды ввести пароль для пользователя (в нашем примере, postgres).

Из командной строки Linux:

sudo -u postgres psql -U postgres -d postgres -c «ALTER USER postgres PASSWORD ‘password'»

* по сути, мы выполняем также запрос в оболочке sql.

Удаление пользователей и групп

Удаление пользователя выполняется следующей командой:

=# DROP USER dmosk;

database1=# REVOKE ALL PRIVILEGES ON ALL TABLES IN SCHEMA public FROM «dmosk»;

* обратите внимание, данный запрос отличается от предоставления прав двумя моментами: 1) вместо GRANT пишем REVOKE; 2) вместо TO «dmosk» пишем FROM «dmosk»;

Назначение особых прав пользователям PostgreSQL

Помимо ALL PRIVILEGES можно выдавать права на особые операции, например:

=# GRANT SELECT, UPDATE, INSERT ON ALL TABLES IN SCHEMA public TO «dmosk»;

* команда позволит выдать права на получение данных, их обновление и добавление. Другие операции, например, удаление будут запрещены для пользователя dmosk.

Назначение прав для определенной таблицы:

database1=# GRANT ALL PRIVILEGES ON table_users TO «dmosk»;

* в данном примере мы предоставим все права на таблицу table_users в базе данных database1;

Учетная запись для резервного копирования

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

Сначала создаем роль, которую будем использовать для выполнения резервного копирования:

=# CREATE USER bkpuser WITH PASSWORD ‘bkppasswd’;

* мы создадим учетную запись bkpuser с паролем bkppasswd.

Предоставляем права на подключения к базе

=# GRANT CONNECT ON DATABASE database TO bkpuser;

* в данном примере к базе database.

Подключаемся к базе (в нашем примере database):

Даем права на все последовательности в схеме:

=# GRANT SELECT ON ALL SEQUENCES IN SCHEMA public TO bkpuser;

* мы дали права для схемы public. Это схема является схемой по умолчанию, но в вашем случае она может быть другой. В таком случае, подставляем свое значение.

Графический интерфейс

Иногда проще воспользоваться программой для выставления прав и работы с PostgreSQL. Могу посоветовать приложение pgAdmin. Оно позволит в оконном режиме не только создать и удалить пользователей, но и полноценно работать с СУБД.

Источник

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

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

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

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

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

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

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

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

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

Читайте также:  Total commander тема windows 10

Первое знакомство с «новым» сервером 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

Как узнать кто провайдер по IP-адресу?

Увидеть скрытые пароли PPP-Secret в MikroTik

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

Источник

Пароль пользователя postgres — как задать и изменить пароль

Команды по администрированию базами и пользователями выполняются от имени системного пользователя postgres

root может стать им выполнив su — postgres

Затем можно без пароля попасть в интерфейс БД psql

Или то же самое одной командой

Пользователь может создать базу

Затем добавить пользователя и задать для него пароль

=# create user appadmin with encrypted password ‘jdfh8jhtghnjkfrvhyu’;

После этого пользователю нужно дать права для работы с базой данных

=# grant all privileges on db1 mydb to appadmin;

Изменить пароль пользователя Postgres

Пользователя можно создавать и задавать ему пароль двумя раздельными командами

sudo -u postgres createuser anotheruser

Вторая служит для изменения паролей уже существующих пользователей, выполняется из консоли psql

=# alter user anotheruser with encrypted password ‘NEW_STRONG_PASSWORD’;

Непосредственно для системного пользователя postgres пароль не нужен, им может стать root выполнив su как показано ранее. Если нужна авторизация root может установить для postgres новый пароль

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

Пользователь appadmin — не системный, он существует только в postgresql.

Подключаться к базе из консоли от имени этого пользователя нужно указывая имя базы и ключ -W

psql -h myhost -d db1 -U appadmin -W

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

Про создание дампов баз данных Postgres и их загрузку.

Источник

Как изменить пароль пользователя PostgreSQL?

Как изменить пароль для пользователя PostgreSQL?

11 ответов

для пароля меньше логина:

чтобы сбросить пароль, если вы забыли:

затем бросить psql :

если это не помогает, настройте проверку подлинности.

редактировать /etc/postgresql/9.1/main/pg_hba.conf (путь будет отличаться) и меняться:

вы можете и должны зашифровать пароль пользователя:

Я считаю, что лучший способ изменить пароль, просто использовать:

в консоли Postgres.

при указании незашифрованного пароля с помощью эта команда. Пароль будет передан на сервер в открытый текст, и он также может быть зарегистрирован в истории команд клиента или журнал сервера. psql содержит команду \password, которую можно использовать изменение пароля роли без выставляя пароль.

изменить пароль с помощью командной строки в Ubuntu, используйте:

перейдите в конфигурацию Postgresql и отредактируйте pg_hba.conf

sudo vim /etc/postgresql/9.3/main/pg_hba.conf

затем измените эту строку :

затем перезапустите службу PostgreSQL с помощью команды SUDO, затем

теперь вы будете введены и увидите терминал Postgresql

и введите новый пароль Пользователь Postgres по умолчанию, после успешной смены пароля снова перейдите в pg_hba.conf и вернуть изменение в «md5»

Читайте также:  Linux disable all users

теперь вы войдете в систему как

С новым паролем.

Дайте мне знать, если вы обнаружите какие-либо проблемы в нем.

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

несколько других команд, полезных для управления пользователями:

переместить пользователя в другую группу

конфигурация, которую я получил на своем сервере, была настроена много, и мне удалось изменить пароль только после того, как я установил доверие аутентификация в :

Не забудьте изменить это обратно на пароль или md5

запросить новый пароль postgres пользователь (не показывая его в команде):

для моего случая на Ubuntu 14.04 установлен с postgres 10.3. Мне нужно выполнить следующие шаги

  • su — postgres к postgres
  • psql для входа в оболочку postgres
  • \password введите пароль
  • \q чтобы выйти из сеанса оболочки

затем вы переключаетесь обратно в root, выполнив exit и настроить свой pg_hba.conf (мое-в /etc/postgresql/10/main/pg_hba.conf ), убедившись, что у вас есть следующие линия

local all postgres md5

  • перезапустите службу postgres с помощью service postgresql restart
  • теперь переключаемся на postgres user и снова введите оболочку postgres. Он предложит вам пароль.
  • введите новый пароль для этого пользователя, а затем подтвердите его. Если вы не помните пароль, и вы хотите его изменить, вы можете войти в систему как postgres, а затем использовать это:

    Источник

    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 .

    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.

    Источник

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