Es gibt eine Möglichkeit, dies zu tun, indem Sie die PAM-Einstellungen (Pluggable Authentication Module) für den sudo-Dienst überschreiben. Tun Sie dies mit großem Risiko für Ihren Computer - kopieren und fügen Sie es nur ein, wenn Sie verstehen, was der Befehl bewirkt, und lassen Sie immer ein Root-Terminal offen - testen Sie test test! - vor dem Abmelden, falls Sie zurückgehen und etwas reparieren müssen.
Ich empfehle, einige Informationen über die Funktionsweise von PAM zu lesen, damit Sie wissen, was zu tun ist, wenn es kaputt geht. Ich empfehle außerdem, dass die meisten Benutzer dieses Problem aus einem anderen Blickwinkel angehen (indem sie ein separates Benutzerkonto für die Verwaltung erstellen), da die Lösung möglicherweise für Hash-Tabellen-Angriffe auf Ihr Kennwort anfällig ist, wenn Sie Ihre Berechtigungen nicht richtig festgelegt haben.
Wenn Sie fortfahren möchten, müssen Sie ein neues PAM-Modul installieren. pam_pwdfile verwendet zur Authentifizierung die Datei vom Typ / etc / passwd im alten Stil, die sich hervorragend für die Verwendung unterschiedlicher Kennwörter für unterschiedliche Dienste eignet. Es bietet keine Kontoerkennung - Sie können Benutzername / Passwort-Paare für Benutzer erstellen, die nicht auf dem System vorhanden sind. Da wir es für sudo verwenden, spielt es keine Rolle, da wir sudo einfach überprüfen lassen, ob das Konto auf die übliche Weise vorhanden ist.
sudo apt-get install libpam-pwdfile
Ich empfehle auch, einen praktischen htpasswd-Datei-Editor zu verwenden. Benjamin Schweizer hat einen praktischen Editor in Python erstellt, der gut funktioniert. Holen Sie es sich von http://benjamin-schweizer.de/htpasswd_editor.html und installieren Sie seine Abhängigkeit:
sudo apt-get install python-newt
Generieren Sie eine Datei im htpasswd-Format mit dem Tool - sudo python htpasswd_editor sudo.passwd
. Geben Sie einen Benutzernamen und ein Passwort mit demselben Benutzernamen ein, den Sie für sudo verwenden werden - einen für jeden Benutzer, der ihn verwenden wird. Kopieren Sie es an einen sicheren Ort (beim Testen habe ich es in /etc/sudo.passwd abgelegt) und machen Sie es für normale Benutzer unlesbar: chmod 660 /etc/sudo.passwd
als root.
Stellen Sie sicher, dass die Datei Root gehört und für andere Benutzer nicht lesbar ist. Dies ist eine Sicherheitsanfälligkeit, da die Datei ein Hash-Kennwort enthält. Wenn sie von anderen Benutzern gelesen oder beschrieben werden kann, wird Ihre Sicherheit dadurch erheblich beeinträchtigt. Aus diesem Grund empfehle ich diese Methode nicht auf einem Computer, der sicher aufbewahrt werden muss.
Bearbeiten Sie abschließend die /etc/pam.d/sudo
Datei. Fügen Sie die folgende Zeile über den anderen @include ...
Zeilen hinzu:
auth required pam_pwdfile.so pwdfile /etc/sudo.passwd
Ersetzen Sie offensichtlich das letzte Argument durch den Pfad zu Ihrer generierten htpasswd-Datei. Kommentieren Sie die nächste Zeile aus: #@include common-auth
um sicherzustellen, dass die neue Authentifizierungsmethode verwendet wird.
Achtung - Sie müssen die /etc/pam.d/sudo
Datei von einem Root-Terminal aus bearbeiten . Schließen Sie dies nicht ohne zu testen! In diesem Fall können Sie sich möglicherweise nicht erneut anmelden (wenn Sie etwas beschädigt haben) und müssen von einer Wiederherstellungsdiskette booten, um Ihr System zu reparieren. Testen Sie vor dem Abmelden, indem Sie ein neues Terminal öffnen, und versuchen Sie es mit sudo
. Sie sollten feststellen, dass es nicht mehr mit Ihrem regulären Anmeldekennwort funktioniert, sondern das neue Kennwort erfordert, das Sie beim Generieren der passwd-Datei verwendet haben. Verwenden Sie das nützliche Tool erneut, um die Datei zu aktualisieren.