Unten ist ein Bild von dem Prozess, den ich unternommen habe, um einen Benutzer auf Bash in Linux zu erstellen.
Ich verstehe, dass das Passwort aus Sicherheitsgründen nicht angezeigt werden sollte, aber ich meine, warum werden Sternchen (oder die von mir eingegebenen Zeichen) nicht angezeigt ?
command-line
terminal
password
passwd
Kaiylar
quelle
quelle
Antworten:
Denn so machen wir Dinge in * nix Land. :) Es gibt ein wenig zusätzliche Sicherheit, indem keine Sternchen angezeigt werden. Auf diese Weise kann jemand, der Ihren Bildschirm sieht, die Länge Ihres Passworts nicht sehen.
Aber ich muss zugeben, dass es ein bisschen beängstigend ist, kein Feedback zu bekommen, wenn Sie ein Passwort eingeben, besonders wenn Sie eine schlechte Tastatur haben. Die meisten GUI-Kennwortdialogfelder auf * nix-Systemen geben Ihnen also eine Art Feedback, z. B. mit Sternchen oder häufiger more. Einige zeigen sogar jedes Zeichen an, während Sie es
*
eingeben, ersetzen es dann aber sofort durch ein oder ⬤, aber das ist nicht so gut, wenn Ihnen jemand über die Schulter schaut. Oder wenn sie über ein Gerät verfügen, das das von Ihrem Computer an Ihren Monitor gesendete Videosignal aufnimmt und decodiert.quelle
stty -echo
Was ist die einfachste Art, Benutzereingaben auszublenden?
Nicht anzeigen!
Das Verbergen von Passwörtern während der Eingabe ist eine alte Tradition. In den meisten Kontexten ist dies sicherheitstechnisch sinnvoll: Wenn Ihnen jemand über die Schulter schaut, möchten Sie nicht einfach erkennen, was Sie eingeben. (In einigen modernen Sicherheitsrichtlinien, z. B. 1 2 3 4 5, wird jedoch empfohlen, das Kennwort sichtbar zu machen, da der Benutzer dann komplexere Kennwörter auswählen und sicher sein kann, dass er seine Zeit nicht mit unsichtbaren Korrekturen verbringt Das größte Risiko besteht nicht im Schulter-Surfen, sondern im Rätseln, möglicherweise offline.)
Nachdem entschieden wurde, dass das Passwort ausgeblendet werden soll, mussten die Implementierer entscheiden, wie es gemacht werden soll. Das Terminal verfügt über einen Modus, in dem Benutzereingaben angezeigt werden (Echo ein), und einen Modus, in dem Benutzereingaben nicht angezeigt werden (Echo aus). Der Echo-Aus-Modus ist in gewisser Weise inhärent vorhanden: In diesem Modus übernimmt das Terminal nicht die zusätzliche Arbeit, Benutzereingaben zurückzugeben. Dieser Modus muss auch für Anwendungen vorhanden sein, bei denen durch das Eingeben eines Schlüssels nicht dieses Zeichen eingefügt wird, sondern stattdessen eine Anwendungsverknüpfung aufgerufen wird, die an diesen Schlüssel gebunden ist. Befehle wie das
passwd
Versetzen des Terminals in den Echo-Off-Modus, während ein Kennwort gelesen wird.Das Drucken von Sternchen für jedes Zeichen würde zusätzliche Implementierungsarbeit für nur einen relativ kleinen Vorteil erfordern, was die Implementierer des
passwd
Befehls nicht wollten . Es gibt keinen Terminalmodus zum Drucken von Sternchen, da dies eine sehr spezielle Funktion ist, die nur bei der Eingabe von Kennwörtern nützlich ist.Übrigens, wenn Sie Ihr Passwort beim Ändern sehen möchten, können Sie es verwenden
cat | passwd
(zumindest auf einigen Systemen - einige Versionenpasswd
erfordern eine Option wiecat | passwd --stdin
und einige akzeptieren dies überhaupt nicht). (Sie können dies sogar tun{ echo 'current password'; echo 'new password'; echo 'new password'; } | passwd
, tun es aber nicht: Es werden die Kennwörter im Shell-Verlauf gespeichert, wodurch das Risiko eines Lecks erheblich größer ist.) Dies mit Befehlen arrangieren, die das Kennwort vom Terminal lesen, anstatt wie auch immer Ihre Standardeingabe wiesudo
oderssh
ist komplexer. Wenn Sie eine GUI zur Verfügung haben, können Sie ssh-askpass verwenden, das anzeigt, wie viele Zeichen Sie eingegeben haben (SUDO_ASKPASS=/usr/bin/ssh-askpass sudo -A
für sudo; für ssh ist es kompliziert, wenn Sie es von einem Terminal aus aufrufen).quelle
Wenn Sie das Kennwort unsichtbar machen, wird es sicherer, da die Länge des Kennworts für andere Benutzer nicht sichtbar ist. Dies vermeidet das Risiko, dass andere Benutzer versuchen, das Kennwort anhand seiner Länge zu erraten und sich in Ihrem Konto anzumelden.
quelle