Ich möchte einem Konto 2 Passwörter zuweisen. Ich möchte wissen, ob 1) dies möglich ist und 2) welche Auswirkungen dies auf die Sicherheit hat.
Der Grund, warum ich dies tun möchte, ist, dass ich momentan mit einigen lokalen Tests beschäftigt bin und dachte, dass dies in bestimmten Situationen nützlich wäre. Nach einigen Recherchen habe ich etwas namens PAM gefunden , aber ich habe Mühe, Informationen darüber zu finden, wie die Installation / Konfiguration funktioniert.
Ich verwende Ubuntu 12.04.
sudo
gründen, um user1 zu erlauben, Befehle als user2 laufen zu lassen. (sudo
Nicht nur zum Ausführen von Befehlen als root, sondern auch zum Ausführen von Befehlen als jeder Benutzer.)Antworten:
Ja, auch wenn es recht ungewöhnlich ist, ist dies definitiv machbar.
Anstatt zu versuchen, es selbst als standardbasierte
/etc/password
/etc/shadow
Authentifizierungsmethode zu implementieren , ist eine solche Konfiguration nicht vorgesehen. Die einfachere Möglichkeit besteht darin, die Authentifizierung an ein Back-End zu delegieren, das bereits mehrere Kennwörter für einen Benutzer unterstützt.Ein bekanntes ist LDAP, dessen
userPassword
Attribut gemäß RFC4519 mehrwertig ist :Ein Beispiel für die Notwendigkeit mehrerer Werte im Attribut 'userPassword' ist eine Umgebung, in der der Benutzer jeden Monat ein anderes Kennwort verwenden muss, das von einem automatisierten System generiert wurde. Während Übergangszeiten, wie dem letzten und dem ersten Tag der Zeiträume, kann es erforderlich sein, zwei Kennwörter für die beiden aufeinander folgenden Zeiträume im System gültig zu machen.
Trotz dieses RFC müssen Sie wahrscheinlich die Konfiguration der Kennwortrichtlinie auf den meisten Directory Server-Implementierungen ändern, damit diese Einstellung tatsächlich akzeptiert wird.
Auf der Linux-Seite verbietet nichts, dies zu tun (hier wurde ein Konto mit dem Namen
testuser
sowohlpass1
als auchpass2
alsuserPassword
Attributwerte angegeben):Hier einige technische und sicherheitsrelevante Auswirkungen dieser Art von Konfiguration:
quelle
Ich habe gerade versucht, 2 Einträge für einen Benutzer in der
/etc/shadow
Datei zu erstellen , aber es hat nicht funktioniert. Welcher Eintrag zuerst war, war der verwendete Passworteintrag.Beispiel
Erstellt einen Testbenutzer.
Setzen Sie das Passwort auf "super123":
Bearbeiten Sie die
/etc/shadow
Datei manuell und machen Sie einen zweiten Eintrag:Versuchen Sie dann, sich mit dem Konto mit den 2 Passwörtern anzumelden.
Der erste Eintrag in
/etc/shadow
wird verwendet, der Eintrag in der zweiten Position funktioniert nie, wenn Sie diese wie folgt umdrehen:Dann funktioniert das zweite Passwort und das erste nicht.
Benutze sudo
Dieser Ansatz ist ein totaler Hack, ich würde ihn nur benutzen
sudo
, er ist teilweise der Grundsudo
, warum er existiert.Sie können diesen Eintrag zu Ihrer sudoers-Datei (
/etc/sudoers
) hinzufügen, um dem Benutzer joe die Erlaubnis zu geben, wie folgt vorzugehen :quelle
sudo
dass das geht .. +1Wenn du das schaffst, solltest du es wahrscheinlich nicht.
Die PAM-Konfiguration ist etwas komplex, und Authentifizierungsmechanismen haben eine Binsenweisheit: Es gibt eine endliche Menge korrekter Konfigurationen, aber eine unendliche Menge unsicherer Konfigurationen. Das macht es fast zu einer Gewissheit, dass Sie Dinge vermasseln, wenn Sie versuchen, Dinge zu ändern und nicht genau wissen, was Sie tun.
Wenn Sie die Wahl zwischen Sicherheit und "In bestimmten Situationen praktisch" haben, entscheiden Sie sich für die erstere.
quelle
Sie können zwei verschiedene Benutzernamen mit jeweils einem Kennwort für dasselbe Konto festlegen. Führen Sie
vipw
zu bearbeiten/etc/passwd
manuell, duplizieren Sie die bestehende Linie für das Konto , das Sie interessiert sind und den Benutzernamen ändern (und wenn Sie das Gecos Feld , Home - Verzeichnis und Shell). Führen Sievipw -s
die Zeile für diesen Benutzer in aus und duplizieren Sie sie/etc/shadow
. Melden Sie sich unter dem neuen Benutzernamen an und führen Sie auspasswd
, um das Kennwort für den neuen Benutzernamen zu ändern. Sie haben jetzt zwei unterschiedliche Benutzernamen mit unterschiedlichen Passwörtern für dasselbe Konto (die Benutzer-ID bestimmt das Konto).Dies ist wahrscheinlich keine gute Idee. Je nachdem, was Sie versuchen, können andere Ansätze geeigneter sein:
Erstellen Sie ein anderes Konto und erteilen Sie dem ersten Konto das Recht, Befehle mit sudo als dieses Konto auszuführen:
quelle