15%

Alexhost ви дава желания

Извършете проучването и спечелете награди

04.10.2024

За подразбиращата се парола за PostgreSQL

Когато инсталирате PostgreSQL, едно от първите неща, които новите потребители често се питат, е: “Каква е подразбиращата се парола за PostgreSQL?” Отговорът е малко по-сложен от очакваното, тъй като по подразбиране PostgreSQL **не** задава предварително определена парола за подразбиращия се потребител. Вместо това разчита на локални методи за удостоверяване, като “peer” или “ident” удостоверяване, в зависимост от вашата система и конфигурация.

Подразбиращият се административен потребител, създаден по време на инсталацията, обикновено се нарича `postgres`. Въпреки това, този потребител няма зададена парола по подразбиране и достъпът до вход е обикновено ограничен до локалната машина. За да взаимодействате с базата данни като потребител `postgres`, обикновено трябва да превключите на системния потребител `postgres`, използвайки команда като `sudo -i -u postgres`, и след това да получите достъп до PostgreSQL шелла чрез `psql`.

За да разрешите отдалечен достъп или вход с парола, трябва изрично да зададете парола за потребителя `postgres`, използвайки SQL команди (например `ALTER USER postgres WITH PASSWORD ‘yourpassword’;`) и да модифицирате файла `pg_hba.conf`, за да разрешите удостоверяване с парола. Това са основни стъпки при конфигуриране на PostgreSQL за производствени среди.

Разбирането на начина, по който работи удостоверяването в PostgreSQL, е от съществено значение както за функционалността, така и за сигурността. Винаги следвайте добрите практики, като задавате силни пароли, ограничавате достъпа с правила на защитната стена и редовно преглеждате настройките за удостоверяване, за да защитите базата данни от неразрешен достъп.

Няма подразбираща се парола в PostgreSQL

За разлика от някои системи за бази данни, PostgreSQL не задава подразбираща се парола на суперпотребителския акаунт на базата данни (postgres) по време на инсталацията. Вместо това следва сигурен подход, изисквайки от потребителя да създаде и управлява пароли изрично. Ето как работи началната настройка и как можете да получите достъп до базата данни:

  1. Начален суперпотребител: След инсталирането на PostgreSQL, системата създава подразбиращ се суперпотребителски акаунт, наречен postgres. Този акаунт има пълен контрол над базата данни.
  2. Няма предварително зададена парола: По подразбиране PostgreSQL няма зададена парола за потребителя postgres. В зависимост от вашата операционна система, може да можете да влезете в PostgreSQL без парола, ако използвате същия акаунт на ОС, който е бил използван за инсталиране на PostgreSQL (обикновено postgres или root).

Достъп до PostgreSQL за първи път

За да получите достъп до базата данни PostgreSQL след инсталацията, следвайте тези стъпки:

  • Linux: На много Linux системи, можете да превключите на потребителя postgres чрез командния ред и да получите достъп до PostgreSQL без нужда от парола:
    sudo -i -u postgres
    psql

    След като влезете в подсказката на PostgreSQL, можете да създадете парола за потребителя postgres:

    SQL
    ALTER USER postgres PASSWORD 'yourpassword';
  • Windows: За Windows, процесът на инсталация обикновено пита за парола за потребителя postgres по време на настройката. Ако забравите или пропуснете задаването на паролата, можете да я нулирате, използвайки административен акаунт.

Конфигуриране на удостоверяване с парола

Удостоверяването на PostgreSQL се управлява от файла pg_hba.conf. Този файл определя как потребителите се удостоверяват, включително дали трябва да използват парола или дали са разрешени други методи (като удостоверяване с peer).

Например, ако използвате удостоверяване с парола и трябва да зададете парола за потребителя postgres, уверете се, че файлът pg_hba.conf има следния ред, за да наложи вход с парола за локални връзки:

local all postgres md5

Тази настройка изисква от потребителя postgres да предостави MD5 хеширана парола при свързване.

Нулиране на паролата на postgres

Ако сте забравили паролата на postgres, можете да я нулирате, следвайки тези стъпки:

  1. Модифицирайте pg_hba.conf, за да разрешите удостоверяване с доверие: Във вашия файл pg_hba.conf временно променете метода за потребителя postgres на trust за локални връзки. Това ви позволява да влезете без парола:
    local all postgres trust
  2. Рестартирайте PostgreSQL: След редактиране на файла, рестартирайте услугата PostgreSQL:
    sudo service postgresql restart
  3. Променете паролата: Сега можете да получите достъп до PostgreSQL без парола и да промените паролата на postgres:
    psql -U postgres
    ALTER USER postgres PASSWORD 'newpassword';
  4. Върнете промените в pg_hba.conf: След като паролата е зададена, върнете промените в файла pg_hba.conf, за да наложите отново удостоверяване с парола.

Най-добри практики за управление на паролите на PostgreSQL

  • Силни пароли: Винаги създавайте силна парола за потребителя postgres, за да защитите базата данни.
  • Управление на роли: Вместо да използвате суперпотребителя postgres за ежедневни операции, създайте нови роли с ограничени привилегии. Това минимизира риска, ако удостоверителните данни бъдат компрометирани.
  • Актуализиране на методите за удостоверяване: Редовно преглеждайте и актуализирайте файла си pg_hba.conf, за да се уверите, че използвате сигурни методи за удостоверяване (като scram-sha-256).
  • Редовна ротация на паролите: Ротирайте паролите периодично, особено за акаунти на суперпотребители.

Заключение

PostgreSQL няма предварително зададена подразбираща се парола по съображения за сигурност. След инсталацията, трябва ръчно да зададете парола за потребителя postgres. Разбирането на системата за удостоверяване на PostgreSQL и добрите практики за управление на паролите ще ви помогне да защитите базата данни от неразрешен достъп.

15%

Alexhost ви дава желания

Извършете проучването и спечелете награди