Yadda ake Sauya (su) zuwa Wani Asusun Mai amfani ba tare da Kalmar wucewa ba


A cikin wannan jagorar, za mu nuna yadda za a sauya zuwa wani ko takamaiman asusun mai amfani ba tare da buƙatar kalmar sirri ba. Misali, muna da asusun mai amfani da ake kira postgres (tsoffin tsarin tsarin PostgreSQL superuser), muna son kowane mai amfani (yawanci bayanan mu na PostgreSQL da masu kula da tsarin) a cikin kungiyar da ake kira postgres don canzawa zuwa asusun postgres ta amfani da su umarni ba tare da shigar da kalmar wucewa ba.

Ta hanyar tsoho, tushen mai amfani kawai zai iya canzawa zuwa wani asusun mai amfani ba tare da shigar da kalmar wucewa ba. Duk wani mai amfani da za a sa shi ya shigar da kalmar sirri na asusun mai amfani da suke sauyawa zuwa (ko kuma idan suna amfani da umarnin sudo, za a sa su shigar da kalmar sirri), idan ba su ba da kalmar sirri daidai ba, suna samun kuskuren\"tantancewa bai yi nasara ba" kamar yadda aka nuna a cikin hoton da ke biye.

Kuna iya amfani da kowane ɗayan mafita guda biyu da aka bayar a ƙasa don warware batun da ke sama.

1. Amfani da Mod Mod Authentication Module

PAM, Don bawa masu amfani dama a cikin takamaiman rukuni su canza zuwa wani asusun mai amfani ba tare da kalmar sirri ba, za mu iya canza saitunan PAM na asali don umarnin su a cikin fayil /etc/pam.d/su.

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

Ara abubuwan daidaitawa masu zuwa bayan\"auth enough pam_rootok.so" kamar yadda aka nuna a cikin hoton da ke gaba.

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

A cikin daidaitawar da ke sama, layin farko yana bincika idan mai amfani da aka sa ransa ya wuce, idan haka ne, sabis ɗin yana bincika mai amfani na yanzu, in ba haka ba, layin tsoho = 1 an tsallake kuma ana aiwatar da matakan tabbatarwa na yau da kullun .

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

Layin da ke biye yana bincikar idan mai amfani na yanzu yana cikin rukuni na rukuni, idan ee , ana aiwatar da aikin tabbatarwa cikin nasara kuma ya dawo isa sakamakon. In ba haka ba, ana aiwatar da matakan tabbatarwa na al'ada.

auth       sufficient   pam_succeed_if.so use_uid user ingroup postgres

Adana fayil ɗin kuma rufe shi.

Na gaba, ƙara mai amfani (alal misali aaronk) wanda kake son su zuwa postgres na asusun ba tare da kalmar wucewa ba ga postgres ɗin rukuni ta amfani da umarnin mai amfani.

$sudo usermod -aG postgres aaronk

Yanzu gwada su zuwa asusun postgres azaman mai amfani aaronk, bai kamata a nemo ka da kalmar sirri ba kamar yadda aka nuna a cikin hoton mai zuwa:

$ su - postgres

2. Amfani da Sudoers File

Hakanan kuna iya su ga wani mai amfani ba tare da buƙatar kalmar wucewa ba ta yin canje-canje a cikin fayil ɗin sudoers. A wannan yanayin, mai amfani (alal misali aaronk) wanda zai canza zuwa wani asusun mai amfani (misali postgres) ya kasance a cikin fayil ɗin sudoers ko a cikin ƙungiyar sudo don samun damar kiran umarnin sudo.

$ sudo visudo

Bayan haka sai a kara sanya wadannan bayanan a kasa layin \"% sudo ALL = (ALL: ALL) ALL" kamar yadda aka nuna a hoton da ke gaba.

aaronk ALL=NOPASSWD: /bin/su – postgres

Adana kuma ka rufe fayil ɗin.

Yanzu gwada su zuwa bayanan talla kamar yadda mai amfani aaronk, harsashi yakamata ya baka damar shigar da kalmar wucewa:

$ sudo su - postgres

Wannan kenan a yanzu! Don ƙarin bayani, duba shafin shigarwa na PAM (mutum pam.conf) da na sudo ma (man sudo).

$ man pam.conf
$ man sudo