Wéi wiesselen (su) op en anere Benotzerkont ouni Passwuert
An dësem Guide wäerte mir weisen wéi Dir op en aneren oder e spezifesche Benotzerkont wiesselt ouni e Passwuert ze erfuerderen. Zum Beispill hu mir e Benotzerkont mam Numm postgres (de Standard PostgreSQL Superuser System Kont), mir wëllen datt all Benotzer (typesch eis PostgreSQL Datebank a System Administrateuren) an der Grupp postgres op de Postgres Kont wiesselen mam su
Kommando ouni Passwuert anzeginn.
Par défaut kann nëmmen de Root Benotzer op en anere Benotzerkont wiesselen ouni e Passwuert anzeginn. All anere Benotzer gëtt opgefuerdert d'Passwuert vum Benotzerkont op deen se wiesselen anzeginn (oder wa se de sudo Kommando benotzen, ginn se opgefuerdert hiert Passwuert anzeginn), wa se net dat richtegt Passwuert ubidden, kréien se en \Authentifizéierung gescheitert\ Feeler wéi am folgenden Screenshot gewisen.
Dir kënnt eng vun den zwou Léisungen hei ënnen benotzen fir dat uewe genannte Problem ze léisen.
1. Benotzt PAM Authentifikatioun Modul
PAM (Plugbar Authentifikatioun Moduler) sinn am Kär vun Benotzer Authentifikatioun op modern Linux Betribssystemer. Fir Benotzer an enger spezifescher Grupp op en anere Benotzerkont ouni Passwuert ze wiesselen, kënne mir d'Standard PAM-Astellunge fir de su Kommando an der Datei /etc/pam.d/su änneren.
# vim /etc/pam.d/su OR $ sudo vim /etc/pam.d/su
Füügt déi folgend Konfiguratiounen no \auth genuch pam_rootok.so wéi am folgenden Screenshot gewisen.
auth [success=ignore default=1] pam_succeed_if.so user = postgres auth sufficient pam_succeed_if.so use_uid user ingroup postgres
An der uewe genannter Konfiguratioun kontrolléiert déi éischt Zeil ob den Zilbenotzer postgres ass, wann et ass, kontrolléiert de Service den aktuelle Benotzer, soss gëtt d'default=1
Linn iwwersprangen an déi normal Authentifikatiounsschrëtt ginn ausgefouert. .
auth [success=ignore default=1] pam_succeed_if.so user = postgres
D'Linn déi duerno kontrolléiert ob den aktuelle Benotzer an der Grupp postgres ass, wann Jo
, gëtt den Authentifikatiounsprozess als erfollegräich ugesinn a gëtt genügend als Resultat zréck. Soss ginn déi normal Authentifikatiounsschrëtt ausgefouert.
auth sufficient pam_succeed_if.so use_uid user ingroup postgres
Späichert d'Datei a maach se zou.
Als nächst, füügt de Benotzer (zum Beispill Aaronk) un deen Dir wëllt su
op de Kont postgres ouni Passwuert an d'Grupp postgres benotze mat dem Benotzermod Kommando.
$sudo usermod -aG postgres aaronk
Probéiert elo su
op de Postgres Kont wéi de Benotzer aaronk, Dir sollt net fir e Passwuert gefrot ginn wéi am folgenden Screenshot gewisen:
$ su - postgres
2. Benotzt Sudoers Fichier
Dir kënnt och su
un en anere Benotzer ouni Passwuert erfuerderen andeems Dir e puer Ännerungen an der sudoers Datei maacht. An dësem Fall soll de Benotzer (zum Beispill Aaronk) deen op en anere Benotzerkont wiesselt (zum Beispill postgres) an der Sudoers Datei oder an der Sudo Grupp sinn fir de Sudo Kommando opzeruffen.
$ sudo visudo
Füügt dann déi folgend Konfiguratioun ënnert der Linn \%sudo ALL=(ALL:ALL) ALL
wéi am folgenden Screenshot gewisen.
aaronk ALL=NOPASSWD: /bin/su – postgres
Späichert an zou der Datei.
Elo probéiert su
op de Kont postgres wéi de Benotzer aaronk, d'Schuel sollt Iech net froen fir e Passwuert anzeginn:
$ sudo su - postgres
Dat ass alles fir elo! Fir méi Informatioun, kuckt d'PAM manuell Entrée Säit (man pam.conf) an déi vum sudo Kommando och (man sudo).
$ man pam.conf $ man sudo