it-swarm.com.de

Benutzer ohne Passwort - wie kann man sich von einem Nicht-Root-Konto aus bei diesem Konto anmelden?

Ich habe gerade angefangen, Scientific Linux (7.0) zu verwenden (obwohl ich davon ausgehe, dass diese Frage möglicherweise verteilungsneutral ist.). Die Kernel-Version ist 3.10.0-123.20.1.el7.x86_64.

Zurück zu meiner Frage.

Ich wechselte zu root account und erstellte von dort aus mit dem Befehl test-account Ein neues Benutzerkonto adduser test-account. Es hat mich nicht zur Eingabe eines Passworts aufgefordert, und ich habe auch nicht die Option verwendet, ein Passwort anzugeben. Ich denke, es ist ein Konto ohne Passwort. Ich kann mich über das Root-Konto in dieses Konto einloggen - was ich wahrscheinlich ohne Angabe eines Passworts tun könnte, selbst wenn das Testkonto ein Passwort hätte. Wenn ich jedoch versuche, mich von einem dritten Konto aus bei diesem (Testkonto) anzumelden, werde ich zur Eingabe eines Kennworts aufgefordert. Und nur Enter zu drücken, funktioniert nicht.

Ist es möglich, sich von einem Nicht-Root-Konto aus bei diesem Konto anzumelden? Gibt es einen Weg (ohne zu root zu wechseln oder Sudo zu verwenden)?

27
Lavya

Standardmäßig erstellt der Befehl adduser unter Enterprise GNU/Linux und seinen Derivaten einen Benutzer, der deaktiviert ist, bis Sie explizit ein Kennwort für diesen Benutzer angeben.

Hier ist ein Beispiel für CentOS 6.5, das mit Scientific Linux identisch sein sollte.

 $ Sudo adduser test
 $ Sudo grep test /etc/shadow
 test:!!:123456:0:99999:7:::

der Grund dafür ist, dass in der /etc/shadow Datei, das Passwortfeld ist !! wie Sie im Beispiel sehen können.

sobald Sie passwd für dieses Konto ausführen, ändert sich das Kennwort des Benutzers und der Benutzer kann sich anmelden.

was Sie also tun sollten, ist Folgendes, um einen Benutzer ohne Passwort zu haben. Erstellen Sie einfach ein Konto und löschen Sie das Passwort.

 $ Sudo adduser test
 $ Sudo passwd -d test
 Removing password for user test.
 passwd: Success
 $ su test
 $ whoami
 test

jetzt sollte jeder Benutzer in der Lage sein, su zu verwenden und sich in meinem Beispiel als Benutzer test anzumelden. Sie müssen Sudo nicht verwenden, um sich als Konto anzumelden.

Obwohl dies möglich ist und Sie ein Konto ohne Passwort haben können, wird dies nicht empfohlen. Wenn Sie einfach das Passwort für den Benutzer festlegen, sollten Sie sich anmelden dürfen.

$ Sudo passwd test
[Sudo] password for <YOURACCOUNT>:
Changing password for user test.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
30
Nathan McCoy

Ich habe Benutzer Gast, der passwortlos ist. Dies ist sein Rekord:

gast: U6aMy0wojraho: 17057: 0: 99999: 7 :::

Die Zeichenfolge "U6aMy0wojraho" ist das Hash-Passwort des Gastbenutzers. Wenn ich mich anmelde, drücke ich einfach die Eingabetaste, um das Passwort einzugeben, und das System erlaubt mir die Anmeldung.

Sie sollten die Datei/etc/shadow bearbeiten und die oben genannte Zeichenfolge direkt nach dem Benutzernamen und dem ersten Doppelpunkt hinzufügen.

Ich habe diesen String von der Ubuntu Live-CD kopiert - sein Benutzer ist paswordless.

3
Raicho Nikolov

Benutzer mit leerem Passwort

Sudo useradd test-user-0
echo test-user-0:U6aMy0wojraho | Sudo chpasswd -e
su test-user-0

Die Passwortabfrage wird leider immer noch angezeigt.

Wenn Sie jedoch nur die Eingabetaste drücken, ohne etwas einzugeben, wird der Benutzer test-user-0.

Das -e flags teilt chpasswd mit, dass das Passwort bereits verschlüsselt ist, und U6aMy0wojraho ist der Hash der leeren Zeichenfolge.

Getestet unter Ubuntu 18.04.

BusyBox-Autologin

Zumindest auf dem Terminal müssen Sie keinen Benutzer ohne Kennwort erstellen, damit jemand seine Kennwörter nicht jedes Mal eingeben kann. Es reicht aus, inittab ein wenig zu hacken: So melden Sie sich automatisch an, ohne zu tippen der Root-Benutzername oder das Passwort in Buildroot BusyBox init?