So wechseln Sie (SU) auf ein anderes Benutzerkonto ohne Passwort

So wechseln Sie (SU) auf ein anderes Benutzerkonto ohne Passwort

In diesem Handbuch zeigen wir, wie Sie zu einem anderen oder einem bestimmten Benutzerkonto wechseln, ohne ein Kennwort zu benötigen. Zum Beispiel haben wir ein Benutzerkonto auf dem Namen Postgres (der Standard PostgreSQL Superuser -Systemkonto), wir möchten jeden Benutzer (in der Regel unser PostgreSQL Datenbank- und Systemadministratoren) in der Gruppe genannt Postgres Um zum Wechsel zum Wechsel zu der Postgres Konto mit dem su Befehl ohne ein Passwort einzugeben.

Standardmäßig kann nur der Root -Benutzer zu einem anderen Benutzerkonto wechseln, ohne ein Kennwort einzugeben. Jeder andere Benutzer wird aufgefordert, das Kennwort des Benutzerkontos einzugeben, zu dem er wechselt (oder wenn er den Befehl sudo verwendet, werden aufgefordert, sein Passwort einzugeben), wenn er nicht das richtige Passwort angibt ein "Authentifizierung fehlgeschlagenFehler wie im folgenden Screenshot gezeigt.

Fehler bei der Authentifizierungsfehler

Sie können eine der beiden unten angegebenen Lösungen verwenden, um das obige Problem zu lösen.

1. Verwenden des PAM -Authentifizierungsmoduls

Pam (Steckbare Authentifizierungsmodule) stehen im Kern der Benutzerauthentifizierung auf modernen Linux -Betriebssystemen. Damit Benutzer in einer bestimmten Gruppe ohne Kennwort zu einem anderen Benutzerkonto wechseln können, können wir die Standard -PAM -Einstellungen für die ändern SU -Befehl im /etc/pam.d/su Datei.

# vim /etc /pam.D/SU oder $ sudo vim/etc/pam.d/su 

Fügen Sie die folgenden Konfigurationen danach hinzu “Authark über pam_rootok.So”Wie im folgenden Screenshot gezeigt.

auth [success = ignore default = 1] PAM_SUCPEDE_IF.Also user = postgres auth genügend pam_succepe_if.So ua_uid user Ingroup Postgres 

In der obigen Konfiguration prüft der erste Zeilen, wenn der Zielbenutzer ist Postgres, Wenn dies der Fall ist, überprüft der Service den aktuellen Benutzer, sonst die Standard = 1 Die Zeile wird übersprungen und die normalen Authentifizierungsschritte werden ausgeführt.

auth [success = ignore default = 1] PAM_SUCPEDE_IF.Also user = postgres 

Die folgende Zeile überprüft, ob sich der aktuelle Benutzer in der Gruppe befindet Postgres, Wenn Ja, Der Authentifizierungsprozess wird als erfolgreich angesehen und gibt dadurch ausreichend zurück. Andernfalls werden die normalen Authentifizierungsschritte ausgeführt.

authreich ausreichend pam_sucreped_if.So ua_uid user Ingroup Postgres 
Konfigurieren Sie PAM, um den Befehl SU ohne Passwort zu ermöglichen

Speichern Sie die Datei und schließen Sie sie.

Als nächstes fügen Sie den Benutzer hinzu (zum Beispiel Aaronk) dass du willst su zum Konto Postgres ohne Passwort für die Gruppe Postgres Verwenden von UsMod -Befehl.

$ sudo usermod -ag postgres aaronk 

Versuchen Sie nun su zum Postgres Konto als Benutzer Aaronk, Sie sollten nicht für ein Passwort aufgefordert werden, wie im folgenden Screenshot gezeigt:

$ su - Postgres 
Benutzer zur Gruppe hinzufügen

2. Verwenden von Sudoers -Datei

Du kannst auch su an einen anderen Benutzer, ohne ein Passwort zu benötigen, indem Sie einige Änderungen in der Sudoers -Datei vornehmen. In diesem Fall der Benutzer (zum Beispiel Aaronk) Wer wechselt zu einem anderen Benutzerkonto (z. B. zum Beispiel Postgres) sollte in der Sudoers -Datei oder in der Sudo -Gruppe sein, um die aufrufen zu können Sudo -Befehl.

$ sudo visudo 

Fügen Sie dann die folgende Konfiguration unter die Zeile hinzu "%Sudo alle = (alle: alle) alle" wie in den folgenden Screenshot gezeigt.

Aaronk All = nopasswd: /bin /su - postgres 
Benutzer zur sudoers -Datei hinzufügen

Speichern und schließen Sie die Datei.

Versuchen Sie nun su zum Konto Postgres als Benutzer Aaronk, Die Shell sollte Sie nicht auffordern, ein Passwort einzugeben:

$ sudo su - Postgres 
Wechseln Sie zu einem anderen Benutzer ohne Passwort

Das ist alles fürs Erste! Weitere Informationen finden Sie auf der PAM -Handbucheintragsseite (Mann Pam.Conf) und das von Sudo -Befehl sowie (Mann sudo).

$ MAN PAM.Conf $ Man sudo 
Verwandte Lesen: 10 nützliche Sudoers -Konfigurationen zum Einstellen von 'sudo' unter Linux