Otu esi agbanwe (su) gaa na akaụntụ onye ọrụ ọzọ na-enweghị paswọọdụ


N'ime ntuziaka a, anyị ga-egosi otu esi atụgharị gaa na akaụntụ onye ọrụ ọzọ ma ọ bụ nke akọwapụtara n'achọghị paswọọdụ. Dịka ọmụmaatụ, anyị nwere akaụntụ onye ọrụ nke a na-akpọ postgres (ihe ndabere PostgreSQL superuser system account), anyị chọrọ onye ọrụ ọ bụla (nke bụ nchekwa data PostgreSQL anyị na ndị na-ahụ maka sistemụ) n'ime otu a na-akpọ postgres ka ọ gbanwee gaa na akaụntụ postgres site na iji su iwu na-etinyeghị paswọọdụ.

Site na ndabara, naanị onye ọrụ mgbọrọgwụ nwere ike ịgbanwe gaa na akaụntụ onye ọrụ ọzọ na-etinyeghị paswọọdụ. A ga-akpali onye ọrụ ọ bụla itinye paswọọdụ nke akaụntụ onye ọrụ ha na-atụgharị na (ma ọ bụ ọ bụrụ na ha na-eji iwu sudo, a ga-akpali ha itinye paswọọdụ ha), ma ọ bụrụ na ha enyeghị paswọọdụ ziri ezi, ha ga-enweta. mperi\nyocha dara dị ka egosiri na nseta ihuenyo na-esonụ.

Ị nwere ike iji nke ọ bụla n'ime ihe ngwọta abụọ a nyere n'okpuru ebe a iji dozie okwu a dị n'elu.

1. Iji PAM Nyocha Module

PAM (modul nyocha ngwa ngwa) dị na isi njirimara njirimara na sistemụ arụmọrụ Linux ọgbara ọhụrụ. Iji kwe ka ndị ọrụ nọ n'otu otu gbanwee gaa na akaụntụ onye ọrụ ọzọ na-enweghị paswọọdụ, anyị nwere ike gbanwee ntọala PAM ndabara maka iwu su na faịlụ /etc/pam.d/su.

# vim /etc/pam.d/su
OR
$ sudo vim /etc/pam.d/su

Tinye nhazi ndị a mgbe \auth zuru pam_rootok.so dị ka egosiri na nseta ihuenyo na-esonụ.

auth       [success=ignore default=1] pam_succeed_if.so user = postgres
auth       sufficient   pam_succeed_if.so use_uid user ingroup postgres

Na nhazi dị n'elu, ahịrị nke mbụ na-enyocha ma ọ bụrụ na onye ọrụ e lekwasịrị anya bụ postgres, ọ bụrụ na ọ bụ, ọrụ ahụ na-enyocha onye ọrụ ugbu a, ma ọ bụghị ya, a na-awụpụ ahịrị default=1 wee mee usoro nyocha nkịtị. .

auth       [success=ignore default=1] pam_succeed_if.so user = postgres

Ahịrị na-esote na-enyocha ma onye ọrụ ugbu a nọ na postgres otu, ọ bụrụ na ee, a na-ewere usoro nyocha ahụ nke ọma wee laghachi azụ zuru oke n'ihi ya. Ma ọ bụghị ya, a na-eme usoro nyocha nkịtị.

auth       sufficient   pam_succeed_if.so use_uid user ingroup postgres

Chekwaa faịlụ ma mechie ya.

Ọzọ, tinye onye ọrụ (dịka ọmụmaatụ aaronk) nke ịchọrọ su na akaụntụ postgres na-enweghị paswọọdụ na postgres otu site na iji iwu usermod.

$sudo usermod -aG postgres aaronk

Ugbu a gbalịa su na akaụntụ postgres dị ka onye ọrụ aaronk, ekwesighi ịkpali gị maka paswọọdụ dị ka egosiri na nseta ihuenyo na-esonụ:

$ su - postgres

2. Iji Sudoers File

Ị nwekwara ike su nye onye ọrụ ọzọ na-achọghị paswọọdụ site na ịme mgbanwe ụfọdụ na faịlụ sudoers. N'okwu a, onye ọrụ (dịka ọmụmaatụ aaronk) nke ga-agbanwe na akaụntụ onye ọrụ ọzọ (dịka ọmụmaatụ postgres) kwesịrị ịdị na faịlụ sudoers ma ọ bụ na sudo otu iji nwee ike ịkpọku iwu sudo.

$ sudo visudo

Wee tinye nhazi a n'okpuru ahịrị \% sudo ALL=(ALL:ALL) ALL dị ka egosiri na nseta ihuenyo na-esonụ.

aaronk ALL=NOPASSWD: /bin/su – postgres

Chekwaa ma mechie faịlụ ahụ.

Ugbu a gbalịa su na akaụntụ postgres dị ka onye ọrụ aaronk, shei ahụ ekwesịghị ịkpali gị itinye paswọọdụ:

$ sudo su - postgres

Nke ahụ bụ ihe niile ugbu a! Maka ozi ndị ọzọ, lee akwụkwọ ntinye akwụkwọ ntuziaka PAM (man pam.conf) yana nke iwu sudo (man sudo).

$ man pam.conf
$ man sudo