Форум программистов, компьютерный форум, киберфорум
PostgreSQL
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.58/163: Рейтинг темы: голосов - 163, средняя оценка - 4.58
205 / 142 / 25
Регистрация: 16.03.2017
Сообщений: 1,528
1

Windows pgAdmin и пароли PostgreSQL

22.02.2018, 02:29. Показов 34120. Ответов 8
Метки нет (Все метки)

Добрый день, подскажите плиииз! Запутался окончательно!

Скачал с оф-сайта и установил Postgres9 на Windows. При установке меня заставили ввести целых 2 пароля... придумал сложные и ввел!

Подключаюсь на этом-же компьютере из pgAdmin (3 и 4 - на обоих пробовал) и успешно вхожу без пароля! вернее с ЛЮБЫМ паролем!
...ищу инструкцию по смене пароля (psql.exe -U postgres + \password), успешно меняю, и опять вхожу в pgAdmin (и 3, и 4) под ЛЮБЫМ паролем!

Что я сделал не так???

Не по теме:


...планирую работать с Ps на линуксе, но разобраться с доступами хочу на винде и "графических" редакторах SQL-скриптов

0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.02.2018, 02:29
Ответы с готовыми решениями:

Проблема с pgAdmin при установке PostgreSQL 11
Здравствуйте. Устанавливаю PostgreSQL 11. Сначала всё идёт как положено, установка внешне...

Запрос на вывод из базы PostgreSQL, PgAdmin III)
Здравствуйте, пытаюсь подключиться к базе и получить все данные по запросу, но ничего не...

Пароли в Windows 7
Всем привет. скажу сразу хакер с меня ни какой. Моя проблема- сменил пароль в майле и вскоре...

Разные пароли на wi-fi в Windows 7 и 8
У меня есть роутер (маршрутизатор) Zyxel Keenetic 4G. У него на этикетке крышке написан пин-код для...

8
1063 / 830 / 328
Регистрация: 02.09.2012
Сообщений: 2,523
24.02.2018, 01:21 2
Лучший ответ Сообщение было отмечено andyj как решение

Решение

Способы авторизации пользователей контролируются файлом pg_hba.conf.
Скорее всего для вашего случая написаны такие правила в этом файле, что пароль на проверяется (метод trust).
Поставьте метод md5 и пароли будут проверяться.
А то, что pgadmin их спрашивает... ну он всегда их спрашивает, в не зависимости от того, что написано в pg_hba.conf
1
205 / 142 / 25
Регистрация: 16.03.2017
Сообщений: 1,528
24.02.2018, 05:32  [ТС] 3
Спасибо! То что надо! Сработало! Странно что "по дефолту" в винде для локальных пользователей пароль отключен...
0
Модератор
3891 / 2866 / 549
Регистрация: 21.01.2011
Сообщений: 12,410
26.02.2018, 10:07 4
Цитата Сообщение от andyj Посмотреть сообщение
Странно что "по дефолту" в винде для локальных пользователей пароль отключен
Да ничего особо странного. В реале доступ на комп с установленной БД (если конечно БД боевая, а не учебная) имеет только DBA и sysadmin, т.е. особо доверенные люди. Обычные пользователи подключаются к БД через сеть.
0
205 / 142 / 25
Регистрация: 16.03.2017
Сообщений: 1,528
26.02.2018, 13:50  [ТС] 5

Не по теме:

Цитата Сообщение от Grossmeister Посмотреть сообщение
В реале доступ на комп с установленной БД (если конечно БД боевая, а не учебная) имеет только DBA и sysadmin, т.е. особо доверенные люди.
В 1С (бухгалтерская прога) можно базу подключить к постгресу (ожидается дикий прирост скорости по сравнению с не кешированным файловым хранилищем). Обычно все работают в win-терминалах на ЭТОМ-же компе (один приличный сервер на фирму в 10-20 компов). Далеко не каждый 1Сник умеет (и имеет желание) кроме 1С еще и заниматься линуксом.

А я пытался разобраться с принципами "ролей", чтобы понять как на линукс-сервере организовать "разграничение доступов". Хотел потренироваться сначала на локальной базе с "графическим" редактором/вювером pgAdmin и неожиданно "доступ не урезается"... к серверной не получилось подключить pgAmdin



Кстати, можете по линукс (debian) версии проконсультировать? Поставил на хостинг постгрес, успешно работаю ИЗНУТРИ (node-сервер на том-же хостинге), но подключиться с домашнего компа на сервер не получается (под теми-же паролем/пользователем/базой/портом, но с реальным IP хоста) - "could not connect to server: Connection refused"!
Это те-же "настройки по дефолту" чтобы снаружи "случайно" не сломали? или у меня где-то руки кривые, а у остальных "работает из коробки"?

пробую разобраться с /etc/postgresql/9.1/main/pg_hba.conf
но пока безуспешно...
0
1063 / 830 / 328
Регистрация: 02.09.2012
Сообщений: 2,523
26.02.2018, 13:56 6
ну показывайте все строчки-не-комментарии, которые есть в файле pg_hba.conf, попробуем разобраться
0
205 / 142 / 25
Регистрация: 16.03.2017
Сообщений: 1,528
26.02.2018, 14:05  [ТС] 7
Цитата Сообщение от grgdvo Посмотреть сообщение
ну показывайте все строчки-не-комментарии, которые есть в файле pg_hba.conf
скопипастить через терминал не получается... буду набирать:

Bash
1
2
3
4
local all postgres  peer
local all all md5
host all all 127.0.0.1/32 md5
host all all ::1/128 md5
все остальное заремарено.

где-то на форуме предложили добавить:
Bash
1
local postgres  postgres  md5
не помогло!

после каждой модификации пробовал перегрузить через
Bash
1
/etc/init.d/postgresql restart
не помогло! (в виндовой без перезагрузки работало после изменения конфига)
0
1063 / 830 / 328
Регистрация: 02.09.2012
Сообщений: 2,523
27.02.2018, 02:49 8
В файле всего 5 полей. Думаю вы прочитали, что каждое из них означает.
1 строчка)
local = разрешает только локальные соединения внутри данного сервера через unix-сокеты (файл вида /var/run/postgresql/.s.PGSQL.5432); для local 4-ое поле не указывается
all = разрешает доступ ко всем базам данных данного экземпляра СУБД
postgres = разрешает доступ только пользователю с именем postgres
peer = разрешает доступ только, если имя пользователя, который коннектится к базе данных, совпадает с именем этого пользователя в операционной системе (работает только для local).
Все вместе означает, что эта строчка авторизует коннекты к базе, которые делаются примерно такой командой
Bash
1
myuser # sudo -u postgres psql -h /var/lib/postgresql
То есть вы в операционной системе работаете в каком-то своем окружении под пользователем myuser, даете команду оболочке от имени пользователя postgres запустить команду коннект к базе данных через доменный сокет, который расположен в директории /var/lib/postgresql. Пользователь базы данных будет по умолчанию postgres, база данных, к которой подключаетесь, будет по умолчанию тоже postgres.

2 строчка)
local = понятно
all = понятно
all = разрешает доступ всем пользователям (которые созданы в СУБД командой CREATE ROLE/USER или утилитой createuser)
md5 = разрешает доступ, только если пользователь прошел проверку своего пароля, указанного при соединении с базой данных (то есть обычная проверка по паролю)
Все вместе означает, что эта строчка авторизует коннекты к базе, которые делаются примерно такой командой
SQL
1
myuser # psql -h /var/lib/postgresql -u myrdbmsuser
3) строчка
host = разрешает подключения через TCP/IP (по умолчанию на порт 5432)
all = понятно
all = понятно
127.0.0.1/32 = внутренний (петлевой) адрес TCP/IP. К нему можно соединяться только внутри одного хоста (сервера). Поулчается примерно как unix-сокеты, только в данном случае задействуется стек TCP/IP операционной системы
md5 = понятно
Все вместе означает, что эта строчка авторизует коннекты к базе, которые делаются примерно такой командой
SQL
1
myuser # psql -h 127.0.0.1 -u myrdbmsuser
4) строчка
host = понятно
all = понятно
all = понятно
::1/128 = тоже самое как предыдущая строчка, только в данном случае явно используется IPv6, а не IPv4.
md5 = понятно
Все вместе означает, что эта строчка авторизует коннекты к базе, которые делаются примерно такой командой
SQL
1
myuser # psql -h ::1 -u myrdbmsuser
В итоге получаем, что Ваш текущий pg_hba.conf разрешает соединения ТОЛЬКО внутри данного сервера всякими разными способами (через unix-сокеты, через tcp/ip v4 и v6).

Чтобы добавить коннект извне (из Интернета) надо добавить примерно следующую строчку
Bash
1
host all all 1.2.3.4/24 md5
5) строчка
host = понятно
all = понятно
all = понятно
1.2.3.4/24 = IP-адрес и префикс (или плюс маска) того адреса, С КОТОРОГО вы будете соединяться с базой данных (это адрес вашего провайдера). Можно указать 0.0.0.0/0, тогда будет с любого адрес (что может быть НЕБЕЗОПАСНЫМ!!!).
Вместе с добавлением этой строчки нужно убедиться, что в файле postgresql.conf
параметры listen_addresses и port выставлены верно
хотя бы так
listen_addresses='*'
port = 5432

Если я где-то ошибся, верную информацию всегда можно найти в оф. документации

Добавлено через 12 минут
p.s. Да, надо добавить, что ряд команд, которые я выше упомянул имеют свои особенности применения в разных дистрибутивах linux (в частности sudo, работа которой обычно настраивается отдельно). Также иногда psql требует явного указания параметра -W, который однозначно требует ввода пароля пользователя перед процедурой аутентификации.
p.p.s. Также коннекты извне часто ограничиваются файрволами, которые по умолчанию включены в современных дистрибутивах.
p.p.p.s. Также может вмешиваться в работу SELinux, если он поднят по умолчанию (например, CentOS).

Все эти компоненты окружения операционной системы должны быть учтены при поиске проблем подключения к базе данных. Естественно, когда речь идет о сервере на реальном адресе, простое выключение файрволов и прочих служб безопасности чревато разными проблемами в будущем.
1
205 / 142 / 25
Регистрация: 16.03.2017
Сообщений: 1,528
27.02.2018, 10:41  [ТС] 9
Цитата Сообщение от grgdvo Посмотреть сообщение
host all all 1.2.3.4/24 md5
Цитата Сообщение от grgdvo Посмотреть сообщение
Можно указать 0.0.0.0/0, тогда будет с любого адрес (что может быть НЕБЕЗОПАСНЫМ!!!).
Спасибо! Сработало! у меня пока стадия "поучиться на рабочей и закрыть все порты"! добавил в закладки!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.02.2018, 10:41

Windows 8.1 Pro не сохраняет пароли
Все время приходится входить ВК. Подскажите как исправить? Только без переустановки системы.

Запретить Windows XP сохранять пароли
Есть такая проблемка. на explorer 8 нужно отключить сохранение паролей, но это не сохранение пароля...

Windows 10 крадет пароли от сайтов
Прочитал в Википедии, что Windows 10 будет передавать разработчикам пароли к сайтам и точкам...

Где хранятся пароли windows 10
Добрый день! Насколько я знаю раньше это был файл SAM, а как дело обстоит в windows 10?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.