Hvernig á að skipta (su) yfir í annan notandareikning án lykilorðs
Í þessari handbók munum við sýna hvernig á að skipta yfir í annan eða sérstakan notandareikning án þess að þurfa lykilorð. Til dæmis erum við með notendareikning sem heitir postgres (sjálfgefinn PostgreSQL ofurnotanda kerfisreikningur), við viljum að allir notendur (venjulega PostgreSQL gagnagrunnurinn okkar og kerfisstjórar) í hópnum sem heitir postgres skipti yfir í postgres reikninginn með su
skipun án þess að slá inn lykilorð.
Sjálfgefið er að aðeins rótnotandinn getur skipt yfir í annan notandareikning án þess að slá inn lykilorð. Allir aðrir notendur verða beðnir um að slá inn lykilorð notendareikningsins sem þeir eru að skipta yfir á (eða ef þeir nota sudo skipunina verða þeir beðnir um að slá inn lykilorðið sitt), ef þeir gefa ekki upp rétt lykilorð fá þeir villa í „staðfesting mistókst“ eins og sést á eftirfarandi skjámynd.
Þú getur notað hvaða af tveimur lausnum sem er að finna hér að neðan til að leysa ofangreint vandamál.
1. Notkun PAM Authentication Module
PAM (Plugable authentication modules) eru kjarninn í notendavottun á nútíma Linux stýrikerfum. Til að leyfa notendum í tilteknum hópi að skipta yfir í annan notandareikning án lykilorðs getum við breytt sjálfgefnum PAM stillingum fyrir su skipunina í /etc/pam.d/su skránni.
# vim /etc/pam.d/su OR $ sudo vim /etc/pam.d/su
Bættu við eftirfarandi stillingum eftir \auth enough pam_rootok.so eins og sýnt er á eftirfarandi skjámynd.
auth [success=ignore default=1] pam_succeed_if.so user = postgres auth sufficient pam_succeed_if.so use_uid user ingroup postgres
Í ofangreindri uppsetningu athugar fyrsta línan hvort marknotandinn sé postgres, ef svo er, athugar þjónustan núverandi notanda, annars er default=1
línunni sleppt og venjuleg auðkenningarskref eru framkvæmd .
auth [success=ignore default=1] pam_succeed_if.so user = postgres
Línan sem fylgir athugar hvort núverandi notandi sé í hópnum postgres, ef já
telst auðkenningarferlið vel heppnað og skilar nægilegt í kjölfarið. Annars eru venjuleg auðkenningarskref framkvæmd.
auth sufficient pam_succeed_if.so use_uid user ingroup postgres
Vistaðu skrána og lokaðu henni.
Næst skaltu bæta notandanum (til dæmis aaronk) sem þú vilt su
við reikninginn postgres án lykilorðs við hópinn postgres með usermod skipuninni.
$sudo usermod -aG postgres aaronk
Reyndu nú að su
inn á postgres reikninginn sem notandinn aaronk, þú ættir ekki að vera beðinn um lykilorð eins og sýnt er á eftirfarandi skjámynd:
$ su - postgres
2. Notkun Sudoers skrá
Þú getur líka su
til annars notanda án þess að þurfa lykilorð með því að gera nokkrar breytingar á sudoers skránni. Í þessu tilviki ætti notandinn (til dæmis aaronk) sem mun skipta yfir í annan notendareikning (til dæmis postgres) að vera í sudoers skránni eða í sudo hópnum til að geta kallað fram sudo skipunina.
$ sudo visudo
Bættu síðan við eftirfarandi uppsetningu fyrir neðan línuna \%sudo ALL=(ALL:ALL) ALL
eins og sýnt er á eftirfarandi skjámynd.
aaronk ALL=NOPASSWD: /bin/su – postgres
Vistaðu og lokaðu skránni.
Reyndu nú að su
á reikninginn postgres sem notandinn aaronk, skelin ætti ekki að biðja þig um að slá inn lykilorð:
$ sudo su - postgres
Það er allt í bili! Fyrir frekari upplýsingar, sjáðu PAM handbókarfærslusíðuna (man pam.conf) og sudo stjórn líka (man sudo).
$ man pam.conf $ man sudo