Где хранятся пароли postgresql linux

31.15. Файл паролей

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

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

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

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

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

Источник

Где хранятся пароли postgresql linux

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

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

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

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

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

Источник

Где хранятся пароли пользователей Linux

В Linux нет особого реестра, где бы хранились настройки программ, данные пользователей и другие компоненты системы. Всё хранится в файлах. В этой небольшой статье мы поговорим о том, где хранятся пароли пользователей Linux.

Изначально для хранения паролей использовался файл /etc/passwd. Но этот файл доступен для чтения всем пользователям. Поэтому, из соображений безопасности, пароли пользователей были перенесены в файл /etc/shadow. Этот файл доступен для чтения только пользователю root.

Читайте также:  Стандарт стандартные приложения windows

Важно отметить, что пароли в этом файле хранятся не в открытом виде, а в хэшированном. Существует несколько алгоритмов хэширования паролей для Linux. Подробно всё это рассматривалось в статье про смену пароля Linux. Сейчас же давайте посмотрим на общий синтаксис файла /etc/shadow:

sudo cat /etc/shadow

В первой строке представлены следующие данные:

  • root — имя пользователя, для которого сохранен пароль;
  • $6$yr. — хэш пароля, длина хэша от пароля никак не зависит, в данном случае зашифровано слово password;
  • 18376 — дата последнего изменения пароля;
  • 0 — количество дней на смену пароля, если его срок действия истёк;
  • 999999 — количество дней от момента последней смены пароля до момента, когда надо сменить пароль принудительно;
  • 7 — за сколько дней пользователь будет предупреждён о необходимости смены пароля.
  • Ещё три поля — задают параметры отключения учётной записи пользователя.

Это всё, что следует знать об этом файле. В Linux есть ещё одно место, где приложения хранят свои пароли, SSH-ключи и другие секретные данные. Это хранилище ключей. В Gnome утилита называется SeaHorce. Вы можете найти её по названию в главном меню:

В самой утилите вы сможете найти и удалить ключи от различных приложений, ключ от хранилища паролей Chromium, токен доступа в Skype, а также все SSH-ключи, добавленные к вашей системе.

Естественно, здесь всё тоже захэшировано и просто прочитать пароль не получиться, если, конечно, какое-нибудь приложение не хранит их в открытом виде. Теперь вы знаете, где хранятся пароли в Linux. На этом всё.

Источник

Сброс пароля в PostgreSQL

Забыли пароль учетной записи postgres в PostgreSQL? Выполнить сброс не сложно. Для этого необходимо выполнить пару манипуляций.

1. Правим файл pg_hba.conf

Находим файл в папке Data директории установки PostgreSQL. В Windows путь выглядит примерно так c:\Program Files\PostgreSQL\9.2.4-1.1C\data\

В этом файле нужно найти такие строчки

# IPv4 local connections:
host all all 127.0.0.1/32 md5
host all all 0.0.0.0/0 md5
# IPv6 local connections:
host all all ::1/128 md5

Меняем md5 на trust.

2. Удаляем файл pgpass.conf

В Windows этот файл находится в c:\Users\Administrator\AppData\Roaming\postgresql\

Здесь хранится старый пароль от PostgreSQL. Простое изменение хранимого здесь пароля мне не помогло. Поэтому я его просто удалил.

3. Меняем пароль в pgAdmin

Запускаем pgAdmin и нам предлагается ввести пароль. Если отметить галочку сохранить, то пароль будет сохранен в pgpass.conf и больше программой запрашиваться не будет.

Чтобы обеспечить безопасность использования паролей необходимо вернуть алгоритм шифрования md5. Для этого в файле pg_hba.conf параметр trust обратно меняем на md5.

Для подключения на локальном компьютере к PostgreSQL с помощью psql, pg_dump в локальных адресах IPv4 127.0.0.1/32 и IPv6 ::1/128 значение trust нужно оставить.

5 thoughts on “ Сброс пароля в PostgreSQL ”

Ты не сменил и не сбросил пароль. Ты отключил все механизмы защиты, поэтому он теперь пускает не с новым паролем, а вообще с ЛЮБЫМ. Строка trust как раз и отключает проверку пароля. А файл pgpass.conf нужен для того что бы утилитка pgAdmin могла туда сохранить пароль и не спрашивать его больше. Именно поэтому он храниться в твоем профиле, что бы никто другой не мог туда зяглянуть.
Пароль пользователя меняется командой ALTER USER user_name WITH PASSWORD ‘new_password’;

Удали статью, а то кучи начинающих «АДМИНОВ» понаоткрывают голую жопу по твоим советам.

Прежде чем писать такой комментарий

Строка trust как раз и отключает проверку пароля.

..внимательней читайте статью, там написано

параметр trust обратно меняем на md5

Про файл pgpass.conf тоже в статье сказано.
Так что с голой жопой останутся только такие же невнимательные как ты.

Глохни, петух. Как я смогу изменить пароль, если не могу на сервер зайти без пароля, придурок!

Читайте также:  Euro doors and windows

Тебе выше написали, что параметры доступа в pg_hba.conf изменены так, чтобы пустить потом тебя БЕЗ пароля с localhost. Да, когда меняете этот файл, перещапускать БД не забывайте.
Потом влетай в консоль psql -Upostgres -W -hlocalhost c пустым паролем, и меняй себе его наздоровье.
Затем возверни настройки обратно в md5 и перезапусти БД.

Виндовозники привыкли мышкой водить. Нет чтоб в терминале просто и со вкусом ALTER USER user_name WITH PASSWORD ‘new_password’;

Источник

Я забыл пароль, который ввел при установке 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 и найдите следующую строку:

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

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

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

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

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

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

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

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

Читайте также:  Windows 10 day month year

Таким образом, решение состояло в том, чтобы запустить, 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 или каталог сокета по умолчанию), поступающими с локального компьютера. На резервном сервере имя базы данных репликации соответствует подключению потоковой репликации к главному серверу. Поле базы данных имеет ограниченную полезность, поскольку пользователи имеют одинаковый пароль для всех баз данных в одном кластере.

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

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

Источник

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