పాస్వర్డ్ లేకుండా మరొక వినియోగదారు ఖాతాకు (సు) ఎలా మారాలి


ఈ గైడ్uలో, పాస్uవర్డ్ అవసరం లేకుండా మరొక లేదా నిర్దిష్ట వినియోగదారు ఖాతాకు ఎలా మారాలో మేము చూపుతాము. ఉదాహరణకు, మాకు పోస్ట్uగ్రెస్ (డిఫాల్ట్ పోస్ట్uగ్రెస్uస్క్యూల్ సూపర్uయూజర్ సిస్టమ్ ఖాతా) అనే వినియోగదారు ఖాతా ఉంది, పోస్ట్uగ్రెస్ అని పిలువబడే సమూహంలోని ప్రతి వినియోగదారు (సాధారణంగా మా పోస్ట్uగ్రెస్uస్క్యూల్ డేటాబేస్ మరియు సిస్టమ్ అడ్మినిస్ట్రేటర్లు) su <ఉపయోగించి పోస్ట్uగ్రెస్ ఖాతాకు మారాలని మేము కోరుకుంటున్నాము. పాస్వర్డ్ ఎంటర్ చేయకుండా/కోడ్> ఆదేశం.

అప్రమేయంగా, పాస్uవర్డ్uను నమోదు చేయకుండా రూట్ వినియోగదారు మాత్రమే మరొక వినియోగదారు ఖాతాకు మారగలరు. మరేదైనా వినియోగదారు వారు మారే వినియోగదారు ఖాతా యొక్క పాస్uవర్డ్uను నమోదు చేయమని ప్రాంప్ట్ చేయబడతారు (లేదా వారు సుడో ఆదేశాన్ని ఉపయోగిస్తుంటే, వారు వారి పాస్uవర్డ్uను నమోదు చేయమని ప్రాంప్ట్ చేయబడతారు), వారు సరైన పాస్uవర్డ్uను అందించకపోతే, వారు పొందుతారు కింది స్క్రీన్uషాట్uలో చూపిన విధంగా aut "ప్రామాణీకరణ విఫలమైంది" లోపం.

పై సమస్యను పరిష్కరించడానికి మీరు క్రింద అందించిన రెండు పరిష్కారాలలో దేనినైనా ఉపయోగించవచ్చు.

1. PAM ప్రామాణీకరణ మాడ్యూల్ ఉపయోగించడం

ఆధునిక లైనక్స్ ఆపరేటింగ్ సిస్టమ్స్uలో PAM (ప్లగ్ చేయదగిన ప్రామాణీకరణ గుణకాలు) వినియోగదారు ప్రామాణీకరణ యొక్క ప్రధాన భాగంలో ఉన్నాయి. పాస్uవర్డ్ లేకుండా ఒక నిర్దిష్ట సమూహంలోని వినియోగదారులను మరొక వినియోగదారు ఖాతాకు మార్చడానికి అనుమతించడానికి, మేము /etc/pam.d/su ఫైల్uలోని su కమాండ్ కోసం డిఫాల్ట్ PAM సెట్టింగులను సవరించవచ్చు.

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

క్రింది స్క్రీన్uషాట్uలో చూపిన విధంగా aut "auth తగినంత pam_rootok.so" తర్వాత కింది కాన్ఫిగరేషన్uలను జోడించండి.

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

పై కాన్ఫిగరేషన్uలో, టార్గెట్ యూజర్ పోస్ట్uగ్రెస్ కాదా అని మొదటి పంక్తి తనిఖీ చేస్తుంది, అది ఉంటే, సేవ ప్రస్తుత వినియోగదారుని తనిఖీ చేస్తుంది, లేకపోతే, డిఫాల్ట్ = 1 లైన్ దాటవేయబడుతుంది మరియు సాధారణ ప్రామాణీకరణ దశలు అమలు చేయబడతాయి .

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

ప్రస్తుత వినియోగదారు సమూహం పోస్ట్uగ్రెస్uలో ఉంటే తనిఖీ చేసే పంక్తి, అవును అయితే, ప్రామాణీకరణ ప్రక్రియ విజయవంతంగా పరిగణించబడుతుంది మరియు ఫలితంగా సరిపోతుంది. లేకపోతే, సాధారణ ప్రామాణీకరణ దశలు అమలు చేయబడతాయి.

auth       sufficient   pam_succeed_if.so use_uid user ingroup postgres

ఫైల్ను సేవ్ చేసి దాన్ని మూసివేయండి.

తరువాత, మీరు యూజర్మోడ్ కమాండ్ ఉపయోగించి గ్రూప్ పోస్ట్uగ్రెస్uకి పాస్uవర్డ్ లేకుండా ఖాతా పోస్ట్uగ్రెస్uకి సు ను కోరుకునే వినియోగదారుని (ఉదాహరణకు అరోంక్) జోడించండి.

$sudo usermod -aG postgres aaronk

ఇప్పుడు వినియోగదారు అరోంక్ వలె పోస్ట్uగ్రెస్ ఖాతాకు su చేయడానికి ప్రయత్నించండి, కింది స్క్రీన్uషాట్uలో చూపిన విధంగా మీరు పాస్uవర్డ్ కోసం ప్రాంప్ట్ చేయకూడదు:

$ su - postgres

2. సుడోయర్స్ ఫైల్ ఉపయోగించడం

సుడోయర్స్ ఫైల్uలో కొన్ని మార్పులు చేయడం ద్వారా పాస్uవర్డ్ అవసరం లేకుండా మీరు మరొక వినియోగదారుకు su చేయవచ్చు. ఈ సందర్భంలో, మరొక వినియోగదారు ఖాతాకు మారే వినియోగదారు (ఉదాహరణకు ఆరోంక్) (ఉదాహరణకు పోస్ట్uగ్రెస్) సుడోస్ ఫైల్uలో లేదా సుడో సమూహంలో సుడో ఆదేశాన్ని అమలు చేయగలగాలి.

$ sudo visudo

కింది స్క్రీన్uషాట్uలో చూపిన విధంగా \"% sudo ALL = (ALL: ALL) ALL" క్రింద ఈ క్రింది కాన్ఫిగరేషన్uను జోడించండి.

aaronk ALL=NOPASSWD: /bin/su – postgres

ఫైల్ను సేవ్ చేసి మూసివేయండి.

ఇప్పుడు వినియోగదారు అరోంక్ వలె ఖాతా పోస్ట్uగ్రెస్uకు su చేయడానికి ప్రయత్నించండి, పాస్uవర్డ్uను నమోదు చేయమని షెల్ మిమ్మల్ని ప్రాంప్ట్ చేయకూడదు:

$ sudo su - postgres

ఇప్పటికి ఇంతే! మరింత సమాచారం కోసం, PAM మాన్యువల్ ఎంట్రీ పేజీ (man pam.conf) మరియు సుడో కమాండ్ (man sudo) చూడండి.

$ man pam.conf
$ man sudo