Ich versuche, mit PAM ein anderes Passwort für sudo zu verwenden als für die Anmeldung.
Ich habe ursprünglich an diesem Beitrag gearbeitet
Stellen Sie das sudo-Passwort anders ein als das Login-Passwort
Leider erhalte ich jedes Mal einen Authentifizierungsfehler und bin mir nicht sicher, was falsch läuft. Vielleicht habe ich mein Passwort falsch gehasht oder falsch zur Datenbank hinzugefügt, aber ich bin mir nicht sicher, wo das Problem liegt.
Die Konfiguration für sudo lautet
session required pam_env.so readenv=1 user_readenv=0
session required pam_env.so readenv=1 envfile=/etc/default/locale user_readenv=0
auth required pam_userdb.so crypt=crypt db=/var/local/sudopass/passwd.db
\#@include common-auth
@include common-account
@include common-session-noninteractive
Ich habe das Passwort passwd -m des password
zu Testzwecken festgelegt und dann mit db5.3 die Datenbank passwd.db erstellt
db5.3_load -h /var/local/sudopass -t hash -T passwd.db
mein Benutzername
73o8ECeyEW3Y2 (Passwort-Hash)
Und dann Authentifizierungsfehler. Hinweis: Wenn ich diese Datenbank beispielsweise in meinem Ausgangsverzeichnis ablege, kann PAM die Datenbank nicht einmal finden, unabhängig davon, wie ich die Berechtigungen festgelegt habe.)
Aktueller auth.log-Speicherauszug
Ich habe Probleme damit, den Authentifizierungsfehler zu erhalten, aber hier ist das aktuelle Problem in auth.log
Oct 18 12:07:43 az-GlAdOS-mk11-m sudo: pam_userdb(sudo:auth): Verify user
az 'mit einem Kennwort
18. Oktober 12:07:43 az-GlAdOS-mk11-m sudo: pam_userdb (sudo: auth): user_lookup: Datenbank `/var/local/sudopass/passwd.db 'konnte nicht geöffnet werden: Keine solche Datei oder kein solches Verzeichnis
18. Oktober 12:07:43 az-GlAdOS-mk11-m sudo: az: PAM-Authentifizierungsfehler: Fehler im Servicemodul; TTY = pts / 4; PWD = / home / az; USER = root; BEFEHL = / bin / nano / etc / pam.d / sudo`
quelle
debug
derpam_userdb.so
Zeile eine Option hinzu, um weitere Informationen in den Systemprotokollen zu erhalten.Antworten:
Der Leitfaden, auf den Sie verlinkt haben, stammt aus der Zeit vor 5 Jahren. PAM verwendet DES nicht mehr. Versuchen Sie dies, um Ihren Passwort-Hash zu generieren:
quelle
Sie können die
targetpw
Option in verwendensudoers
, bei der sudo nicht nach Ihrem eigenen Kennwort fragt, sondern nach dem Kennwort des Benutzers, als den Sie den Befehl ausführen möchten (was in den meisten Fällen der Fall istroot
). Sie können dann verschiedene Passwörter für Ihren eigenen Benutzer und dasroot
Benutzerkonto verwenden.Verwenden Sie das folgende Snippet in Ihrer Sudoers-Datei, um dieses Verhalten global zu aktivieren (bearbeiten Sie es mit
visudo
):Die zweite Zeile bedeutet, dass jeder Benutzer im System sudo verwenden kann, wenn er das Kennwort des Zielbenutzers kennt. Wenn Sie es weglassen, sind sowohl die Mitgliedschaft in der konfigurierten Gruppe als auch das Kennwort des Ziels erforderlich. (Beachten Sie, dass Sie die Gruppenanforderung umgehen können, wenn Sie Zugriff darauf haben
su
, da diese Konfiguration nicht berücksichtigt wird.)Sie können auch eine der beiden folgenden Varianten verwenden, mit denen die
targetpw
Anweisung nur auf einen bestimmten Benutzer bzw. eine bestimmte Gruppe angewendet wird :(Geben Sie nicht an ,
ALL ALL=(ALL) ALL
ob Sie eine davon verwenden!)quelle