GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So wechseln (su) Sie ohne Passwort zu einem anderen Benutzerkonto

In dieser Anleitung zeigen wir, wie Sie ohne Passwort zu einem anderen oder einem bestimmten Benutzerkonto wechseln können. Zum Beispiel haben wir ein Benutzerkonto namens postgres (die standardmäßige PostgreSQL Superuser-Systemkonto), möchten wir, dass jeder Benutzer (normalerweise unser PostgreSQL Datenbank- und Systemadministratoren) in der Gruppe namens postgres um zu postgres zu wechseln Konto mit dem su Befehl ohne Eingabe eines Passworts.

Standardmäßig kann nur der Root-Benutzer ohne Eingabe eines Passworts zu einem anderen Benutzerkonto wechseln. Alle anderen Benutzer werden aufgefordert, das Passwort des Benutzerkontos einzugeben, zu dem sie wechseln (oder wenn sie den sudo-Befehl verwenden, werden sie aufgefordert, ihr Passwort einzugeben), wenn sie nicht das richtige Passwort angeben, erhalten sie ein „Authentifizierung fehlgeschlagen ” Fehler, wie im folgenden Screenshot gezeigt.

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

1. Verwendung des PAM-Authentifizierungsmoduls

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

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

Fügen Sie die folgenden Konfigurationen nach “auth enough pam_rootok.so hinzu “, wie im folgenden Screenshot gezeigt.

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

In der obigen Konfiguration prüft die erste Zeile, ob der Zielbenutzer postgres ist , wenn ja, prüft der Dienst den aktuellen Benutzer, andernfalls den default=1 Zeile wird übersprungen und die normalen Authentifizierungsschritte werden ausgeführt.

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

Die folgende Zeile prüft, ob der aktuelle Benutzer in der Gruppe postgres ist , falls yes , wird der Authentifizierungsprozess als erfolgreich angesehen und als Ergebnis ausreichend zurückgegeben. Andernfalls werden die normalen Authentifizierungsschritte ausgeführt.

auth       sufficient   pam_succeed_if.so use_uid user ingroup postgres

Speichern Sie die Datei und schließen Sie sie.

Fügen Sie als Nächstes den Benutzer hinzu (zum Beispiel aaronk ), die Sie su möchten auf das Konto postgres ohne Passwort in die Gruppe postgres mit dem usermod-Befehl.

$sudo usermod -aG postgres aaronk

Versuchen Sie nun su zu den postgres Konto als Benutzer aaronk , sollten Sie nicht zur Eingabe eines Passworts aufgefordert werden, wie im folgenden Screenshot gezeigt:

$ su - postgres

2. Verwendung der Sudoers-Datei

Sie können auch su an einen anderen Benutzer, ohne dass ein Passwort erforderlich ist, indem Sie einige Änderungen in der sudoers-Datei vornehmen. In diesem Fall muss der Benutzer (zum Beispiel aaronk ), der zu einem anderen Benutzerkonto wechselt (zum Beispiel postgres ) sollte sich in der sudoers-Datei oder in der sudo-Gruppe befinden, um den sudo-Befehl aufrufen zu können .

$ sudo visudo

Fügen Sie dann die folgende Konfiguration unter der Zeile “%sudo ALL=(ALL:ALL) ALL” hinzu wie im folgenden Screenshot gezeigt.

aaronk ALL=NOPASSWD: /bin/su – postgres

Speichern und schließen Sie die Datei.

Versuchen Sie nun su auf das Konto postgres als Benutzer aaronk , sollte die Shell Sie nicht zur Eingabe eines Passworts auffordern:

$ sudo su - postgres

Das ist jetzt alles! Weitere Informationen finden Sie auf der manuellen PAM-Eintragsseite (man pam.conf ) und die des sudo-Befehls auch (man sudo ).

$ man pam.conf
$ man sudo
Verwandte Lektüre :10 nützliche Sudoer-Konfigurationen zum Einstellen von „sudo“ in Linux
Linux
  1. Wie konfiguriere ich postgresql zum ersten Mal?

  2. Wie kann ich den Befehlsverlauf eines anderen Benutzers in Linux anzeigen?

  3. Wie man als anderer Benutzer ssh

  4. Wie erstelle ich einen zusätzlichen Root-Benutzer?

  5. Wie erstellt man einen SSH-Schlüssel für einen anderen Benutzer?

So entfernen oder löschen Sie ein MySQL-Benutzerkonto

So fügen Sie Benutzer auf AlmaLinux hinzu

Verwendung des Benutzermanagers von cPanel

Wie erstelle ich Benutzer und Gruppen in CentOS7?

So erstellen Sie auf mehrere Arten einen Benutzer unter Ubuntu Linux

So erstellen Sie einen Benutzer oder Kontakt