Bii o ṣe Yipada (su) si Iwe-akọọlẹ Olumulo miiran laisi Ọrọigbaniwọle


Ninu itọsọna yii, a yoo fihan bi a ṣe le yipada si miiran tabi akọọlẹ olumulo kan pato laisi nilo ọrọ igbaniwọle kan. Fun apẹẹrẹ, a ni akọọlẹ olumulo kan ti a pe ni postgres (aiyipada eto eto PostgreSQL superuser), a fẹ gbogbo olumulo (paapaa aaye data wa PostgreSQL ati awọn alakoso eto) ninu ẹgbẹ ti a pe ni postgres lati yipada si akọọlẹ postgres ni lilo su pipaṣẹ laisi titẹ ọrọ igbaniwọle sii.

Nipa aiyipada, olumulo gbongbo nikan le yipada si akọọlẹ olumulo miiran laisi titẹ ọrọigbaniwọle sii. Olumulo miiran yoo ni itara lati tẹ ọrọ igbaniwọle ti akọọlẹ olumulo ti wọn n yipada si (tabi ti wọn ba nlo aṣẹ sudo, wọn yoo rọ lati tẹ ọrọ igbaniwọle wọn sii), ti wọn ko ba pese ọrọ igbaniwọle to pe, wọn gba aṣiṣe\"ijẹrisi kuna" bi o ṣe han ninu sikirinifoto atẹle.

O le lo eyikeyi ninu awọn iṣeduro meji ti a pese ni isalẹ lati yanju ọrọ ti o wa loke.

1. Lilo Module Ijeri PAM

PAM (Awọn modulu afọwọsi Pluggable) wa ni ipilẹ ti ijẹrisi olumulo lori awọn ọna ṣiṣe Lainos igbalode. Lati gba awọn olumulo laaye ni ẹgbẹ kan pato lati yipada si akọọlẹ olumulo miiran laisi ọrọ igbaniwọle kan, a le yipada awọn eto PAM aiyipada fun aṣẹ su ni faili /etc/pam.d/su.

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

Ṣafikun awọn atunto atẹle lẹhin\"auth to pam_rootok.so" bi o ṣe han ninu sikirinifoto atẹle.

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

Ninu iṣeto ti o wa loke, laini akọkọ ṣayẹwo ti olumulo aṣojuuṣe ba jẹ ifiweranṣẹ, ti o ba jẹ bẹ, iṣẹ naa ṣayẹwo olumulo lọwọlọwọ, bibẹkọ, laini ila aiyipada = 1 ati pe a ṣe awọn igbesẹ idanimọ deede .

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

Laini ti o tẹle awọn sọwedowo ti olumulo lọwọlọwọ ba wa ni awọn ifiweranṣẹ ẹgbẹ, ti bẹẹni , ilana ijẹrisi ni a ṣe akiyesi aṣeyọri ati pada to ni abajade. Tabi ki, awọn igbesẹ ìfàṣẹsí deede ni a ṣiṣẹ.

auth       sufficient   pam_succeed_if.so use_uid user ingroup postgres

Fipamọ faili naa ki o pa.

Nigbamii, ṣafikun olumulo (fun apẹẹrẹ aaronk) ti o fẹ lati su si awọn ifiweranṣẹ akọọlẹ laisi ọrọ igbaniwọle kan si awọn ifiweranṣẹ ẹgbẹ ni lilo pipaṣẹ olumulomodmod.

$sudo usermod -aG postgres aaronk

Nisisiyi gbiyanju lati su si akọọlẹ postgres bi olumulo aron, o yẹ ki o ko ṣetan fun ọrọ igbaniwọle kan bi o ṣe han ninu sikirinifoto atẹle:

$ su - postgres

2. Lilo Faili Sudoers

O tun le su si olumulo miiran laisi nilo ọrọ igbaniwọle kan nipa ṣiṣe diẹ ninu awọn ayipada ninu faili sudoers. Ni ọran yii, olumulo (fun apẹẹrẹ aaronk) ti yoo yipada si akọọlẹ olumulo miiran (fun apẹẹrẹ postgres) yẹ ki o wa ninu faili sudoers tabi ni ẹgbẹ sudo lati ni anfani lati kepe aṣẹ sudo.

$ sudo visudo

Lẹhinna ṣafikun iṣeto atẹle ni isalẹ laini \"% sudo ALL = (GBOGBO: GBOGBO) GBOGBO" bi o ṣe han ninu sikirinifoto atẹle.

aaronk ALL=NOPASSWD: /bin/su – postgres

Fipamọ ki o pa faili naa.

Bayi gbiyanju lati su si awọn ifiweranṣẹ akọọlẹ bi olumulo aron, ikarahun ko yẹ ki o tọ ọ lati tẹ ọrọ igbaniwọle kan sii:

$ sudo su - postgres

Iyẹn ni gbogbo fun bayi! Fun alaye diẹ sii, wo oju-iwe titẹsi ọwọ ọwọ PAM (eniyan pam.conf) ati ti aṣẹ sudo bakanna (ọkunrin sudo).

$ man pam.conf
$ man sudo