Jinsi ya kufunga Hifadhidata ya PostgreSQL katika Debian 10


PostgreSQL (wakati mwingine hujulikana kama Postgres) ndio mfumo wa hifadhidata wa juu zaidi wa chanzo huria wa madhumuni ya jumla na kitu-uhusiano na usanifu uliothibitishwa ambao unaendeshwa kwenye mifumo yote mikuu ya uendeshaji. Ni mfumo wa hifadhidata wa hali ya juu, thabiti, unaoweza kupanuka na unaoweza kupanuka ambao hutoa uadilifu wa ajabu wa data na kuauni programu jalizi zenye nguvu.

Muhimu zaidi, PostgreSQL hukuruhusu kufafanua aina zako za data, kuongeza utendakazi maalum, hata kuandika msimbo kutoka lugha tofauti za programu kama vile C/C++, Java, n.k, bila kurejesha hifadhidata yako.

PostgreSQL inatumiwa na kampuni zinazojulikana za Tech kama vile Apple, Fujitsu, Red Hat, Cisco, Juniper Network, n.k.

Katika nakala hii, tutakuonyesha jinsi ya kusakinisha, salama na kusanidi seva ya hifadhidata ya PostgreSQL katika Debian 10.

  1. Sakinisha Seva ndogo ya Debian 10 (Buster)

Kufunga Seva ya PostgreSQL kwenye Debian 10

Ili kusakinisha seva ya hifadhidata ya PostgreSQL, tumia kidhibiti chaguo-msingi cha kifurushi cha APT, ambacho kitasakinisha seva ya PostgreSQL 11 na mteja.

# apt install postgresql-11 postgresql-client-11

Kwenye Debian, kama daemoni zingine zozote, hifadhidata ya Postgres inaanzishwa mara tu baada ya usakinishaji wa kifurushi kukamilika kama inavyoonyeshwa kwenye picha ya skrini ifuatayo.

Ili kuangalia kama hifadhidata ya Postgres imeanzishwa kweli, unaweza kutumia pg_isready shirika ambalo hukagua hali ya muunganisho wa seva ya PostgreSQL, kama ifuatavyo.

# pg_isready 

Kando na hayo, chini ya mfumo, huduma ya Postgres pia huanzishwa kiotomatiki na kuwezeshwa kuanza kwenye mfumo wa kuwasha. Ili kuhakikisha kuwa huduma iko na inafanya kazi vizuri, endesha amri ifuatayo.

# systemctl status postgresql

Zifuatazo ni amri zingine muhimu za systemctl kusimamia huduma ya Postgres chini ya systemd.

# systemctl start postgresql
# systemctl restart postgresql
# systemctl stop postgresql
# systemctl reload postgresql 		#this reloads the service configuration

Kulinda na Kusanidi Hifadhidata ya PostgreSQL

Kwa chaguo-msingi, Postgres hutumia dhana ya majukumu ya kudhibiti ruhusa za ufikiaji wa hifadhidata na majukumu ya hifadhidata yanatofautishwa kimawazo kabisa na watumiaji wa mfumo wa uendeshaji. Jukumu linaweza kuwa mtumiaji au kikundi, na jukumu ambalo lina haki ya kuingia linaitwa mtumiaji.

Mfumo mpya ulioanzishwa kila wakati huwa na jukumu moja lililobainishwa awali linaloitwa postgres, una jina sawa na akaunti ya mtumiaji wa mfumo wa uendeshaji inayoitwa postgres, ambayo hutumiwa kufikia psql (Postgres shell) na programu zingine za hifadhidata.

Akaunti ya mtumiaji wa mfumo wa Postgres haijalindwa kwa kutumia nenosiri, ili kuilinda, unaweza kuunda nenosiri kwa kutumia matumizi ya passwd.

# passwd postgres

Pia, jukumu la Postgres (au mtumiaji wa hifadhidata ya msimamizi ukipenda) halilindwa kwa chaguomsingi. Pia unahitaji kuilinda kwa nenosiri. Sasa badilisha hadi akaunti ya mtumiaji wa mfumo wa postgres na jukumu la postgres (kumbuka kuweka nenosiri thabiti na salama) kama inavyoonyeshwa.

# su - postgres
# psql -c "ALTER USER postgres WITH PASSWORD 'securepass_here';"

Kisha toka kwenye akaunti ya postgres ili kuendelea na mwongozo.

Inasanidi Uthibitishaji wa Mteja

Faili kuu ya usanidi wa Postgres iko katika /etc/postgresql/11/main/postgresql.conf. Kando na faili hii, Postgres hutumia faili zingine mbili za usanidi zilizohaririwa kwa mikono, ambazo hudhibiti uthibitishaji wa mteja.

Uthibitishaji wa mteja unadhibitiwa na /etc/postgresql/11/main/pg_hba.conf faili ya usanidi. Postgres hutoa njia nyingi tofauti za uthibitishaji wa mteja pamoja na uthibitishaji wa msingi wa nenosiri. Miunganisho ya mteja imethibitishwa kulingana na anwani ya mwenyeji wa mteja, hifadhidata na mtumiaji.

Ukichagua kutumia uthibitishaji kulingana na nenosiri, unaweza kutekeleza mojawapo ya mbinu hizi: md5 au nenosiri ambalo hufanya kazi sawa isipokuwa kwa njia ambayo nenosiri hupitishwa kwenye muunganisho wote, yaani MD5-hashed na clear-text mtawalia.

Kutumia uthibitishaji wa nenosiri la md5 huepuka kunusa nenosiri kwa wadukuzi na kuepuka kuhifadhi manenosiri kwenye seva katika maandishi wazi. Mbinu ya nenosiri inaweza tu kutumika kwa usalama ikiwa muunganisho umelindwa kwa usimbaji fiche wa SSL.

Kwa mwongozo huu, tutaonyesha jinsi ya kusanidi uthibitishaji wa nenosiri la md5 kwa uthibitishaji wa mteja.

# vim /etc/postgresql/11/main/pg_hba.conf 

Tafuta laini ifuatayo na ubadilishe mbinu ya uthibitishaji iwe md5 kama inavyoonyeshwa kwenye picha ya skrini.

local   all             all                                     md5

Hifadhi mabadiliko kwenye faili na uiondoe. Kisha tumia mabadiliko ya hivi majuzi kwa kuanzisha upya huduma ya Postgres kama ifuatavyo.

# systemctl restart postgresql

Kuunda Hifadhidata Mpya na Wajibu wa Hifadhidata/Mtumiaji katika PostgreSQL

Katika sehemu hii ya mwisho, tutaonyesha jinsi ya kuunda mtumiaji mpya wa hifadhidata na jukumu la hifadhidata ili kuisimamia. Kwanza, badilisha kwa akaunti ya postgres na ufungue ganda la Postgres kama ifuatavyo.

# su - postgres
$ psql

Ili kuunda hifadhidata iitwayo \test_db endesha amri ifuatayo ya SQL.

postgres=# CREATE DATABASE test_db;

Kisha unda mtumiaji wa hifadhidata (jukumu na haki za kuingia) ambaye atasimamia hifadhidata mpya kama ifuatavyo.

postgres=#CREATE USER test_user PASSWORD ‘[email _here’;     #assumes login function by default

Ili kuunganisha kwa test_db kama mtumiaji test_user, endesha amri ifuatayo.

 
$ psql -d  test_db  -U test_user

Kwa habari zaidi, angalia hati za PostgreSQL 11.

Hiyo ni kama kwa sasa! Katika mwongozo huu, tumeonyesha jinsi ya kusakinisha, kulinda na kusanidi seva ya hifadhidata ya PostgreSQL katika Debian 10. Je, una swali au mawazo yoyote ya kushiriki? Tumia fomu ya maoni hapa chini ili kuwasiliana nasi.