Parol bolmasa başga ulanyjy hasabyna nädip geçmeli
Bu gollanmada parol talap etmezden başga birine ýa-da belli bir ulanyjy hasabyna nädip geçmelidigini görkezeris. Mysal üçin, bizde postgres atly ulanyjy hasaby bar (adaty PostgreSQL superuser ulgam hasaby), postgres atly topardaky her bir ulanyjynyň (adatça PostgreSQL maglumat bazasy we ulgam dolandyryjylary) postgres hasabyna su
Düzgüne görä, diňe kök ulanyjy parol girizmän başga bir ulanyjy hasabyna geçip biler. Başga bir ulanyja geçýän ulanyjy hasabynyň parolyny girizmek soralar (ýa-da sudo buýrugyny ulanýan bolsa, parolyny girizmek soralýar), dogry parol bermese, alýarlar aşakdaky skrinshotda görkezilişi ýaly\tanamaklyk şowsuz.
Aboveokardaky meseläni çözmek üçin aşakda görkezilen iki çözgüdiň islendigini ulanyp bilersiňiz.
1. PAM tanamak modulyny ulanmak
PAM (dakylýan tanamak modullary) häzirki zaman Linux operasiýa ulgamlarynda ulanyjyny tassyklamagyň özenidir. Belli bir topardaky ulanyjylara parolsyz başga bir ulanyjy hasabyna geçmegine rugsat bermek üçin /etc/pam.d/su faýlyndaky su buýrugy üçin adaty PAM sazlamalaryny üýtgedip bileris.
# vim /etc/pam.d/su OR $ sudo vim /etc/pam.d/su
Aşakdaky skrinshotda görkezilişi ýaly\auth ýeterlik pam_rootok.so -dan soň aşakdaky konfigurasiýalary goşuň.
auth [success=ignore default=1] pam_succeed_if.so user = postgres auth sufficient pam_succeed_if.so use_uid user ingroup postgres
Aboveokardaky konfigurasiýada, birinji setir maksat ulanyjynyň postgresdigini ýa-da ýokdugyny barlaýar, hyzmat häzirki ulanyjyny barlaýar, ýogsam, default=1
setiri geçýär we adaty tanamak ädimleri ýerine ýetirilýär .
auth [success=ignore default=1] pam_succeed_if.so user = postgres
Aşakdaky setir, häzirki ulanyjynyň topar postgresindedigini ýa-da hawa
bardygyny barlaýar, tassyklamak prosesi üstünlikli hasaplanýar we netijede ýeterlik derejede gaýdyp gelýär. Otherwiseogsam, adaty tanamak ädimleri ýerine ýetirilýär.
auth sufficient pam_succeed_if.so use_uid user ingroup postgres
Faýly ýazdyryň we ýapyň.
Ondan soň, usermod buýrugyny ulanyp, topar postgreslerine paroly bolmazdan su
isleýän ulanyjyny goşuň (mysal üçin aaronk).
$sudo usermod -aG postgres aaronk
Indi ulanyjy aaronk hökmünde postgres hasabyna su
synap görüň, aşakdaky skrinshotda görkezilişi ýaly parol soralmaz:
$ su - postgres
2. Sudoers faýly ulanmak
Şeýle hem sudoers faýlynda käbir üýtgeşmeler girizip parol talap etmezden başga bir ulanyja su
edip bilersiňiz. Bu ýagdaýda başga bir ulanyjy hasabyna (mysal üçin postgres) geçjek ulanyjy (mysal üçin aaronk) sudo buýrugyny ulanyp bilmek üçin sudoers faýlynda ýa-da sudo toparynda bolmaly.
$ sudo visudo
Soňra aşakdaky skrinshotda görkezilişi ýaly \% sudo ALL=(ALL: ALL) ALL
setiriniň aşagyna aşakdaky konfigurasiýany goşuň.
aaronk ALL=NOPASSWD: /bin/su – postgres
Faýly ýazdyryň we ýapyň.
Indi ulanyjy aaronk hökmünde hasap postgresine su
synap görüň, gabyk parol girizmegiňizi talap etmeli däldir:
$ sudo su - postgres
Bularyň hemmesi häzirlikçe! Has giňişleýin maglumat üçin PAM el bilen giriş sahypasyna (man pam.conf) we sudo buýrugyna serediň (man sudo).
$ man pam.conf $ man sudo