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

25

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

Ich komme auf meine Frage zurück.

Ich wechselte zum rootKonto und erstellte von dort test-accountmit dem Befehl ein neues Benutzerkonto adduser test-account. Ich wurde weder zur Eingabe eines Passworts aufgefordert, noch habe ich die Option zur Eingabe eines Passworts verwendet. Ich denke, es ist ein "ohne Passwort" Konto. Ich kann mich über das Root-Konto in dieses Konto einloggen. Dies ist vermutlich möglich, ohne ein Kennwort anzugeben, selbst wenn das Testkonto ein Kennwort hatte. Wenn ich jedoch versuche, mich von einem dritten Konto aus in dieses (Test-Konto) einzuloggen, werde ich zur Eingabe eines Passworts aufgefordert. Und nur drücken Enterfunktioniert nicht.

Ist es möglich, sich von einem Nicht-Root-Konto aus in dieses Konto einzuloggen? Gibt es einen Weg (ohne zu root zu wechseln oder zu benutzen sudo)?

Lavya
quelle
Die Richtlinie Ihres Systems könnte sein, dass ein Passwort erforderlich ist. adduserkennt die -pMöglichkeit ein Passwort zu setzen, dessen Verwendung nicht empfohlen wird. Legen Sie als root passwd test-accountein Passwort fest.
ott--
Nein, das Konto wird ohne Passwort erstellt und ich kann sogar darauf zugreifen, indem ich von root auf das Konto wechsle. Das einzige, was ich nicht tun kann, ist, von einem normalen Benutzer darauf umzuschalten.
Lavya
Wie wechselt man von root dorthin (welchen Befehl benutzt man)?
Roaima
@roaima su test-account. Das schaltet auf test-accountohne eine Passwortabfrage (was auch passieren würde, wenn test-accountein Passwort hätte). Wenn ich jedoch versuche, von einem anderen nicht privilegierten Benutzerkonto zu einem eneter
Testkonto
Sie haben die Antwort darauf bereits erhalten. Genießen.
Roaima

Antworten:

29

Standardmäßig addusererstellt der Befehl 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 /etc/shadow, dass das Kennwortfeld in der Datei so ist, !!wie Sie es im Beispiel sehen können.

Sobald Sie passwdfür dieses Konto angemeldet sind, wird das Kennwort des Benutzers geändert, und der Benutzer kann sich anmelden.

Sie sollten also Folgendes tun können, um einen Benutzer ohne Kennwort zu haben. Erstellen Sie einfach ein Konto und löschen Sie das Kennwort.

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

jetzt sollte jeder benutzer in der sulage sein, sich als benutzer testin meinem beispiel anzumelden. Sie müssen nicht verwenden, sudoum sich als Konto anzumelden.

Dies ist zwar möglich und Sie können ein Konto ohne Kennwort haben, dies wird jedoch 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.
Nathan McCoy
quelle
"Mit dem Befehl adduser wird ein Benutzer erstellt, der deaktiviert wird, bis Sie explizit ein Kennwort für diesen Benutzer angeben.": Wie kann ich in test-account diesem Fall von root zu root wechseln (Benutzer wird deaktiviert)?
Lavya
su test-account
Nathan McCoy
Ich wollte fragen: Wenn das Konto deaktiviert ist, wie kann ich dann mit suroot darauf wechseln ?
Lavya
2
Der rootBenutzer kann suin jedes Konto, das eine Shell hat. Wenn die Shell /bin/falsezum Beispiel auf eingestellt wäre, würde es nicht funktionieren. Es ist nur die Magie von root! Viele Benutzerkonten haben keine gültige Shell und werden nur zum Ausführen bestimmter Programme als dieser Benutzer verwendet. wie der apacheBenutzer und der Apache-Webserver.
Nathan McCoy
In Ubuntu 18.04 kann ich mich nicht als Benutzer mit leerem Passwort anmelden.
Ciro Santilli新疆改造中心法轮功六四事件
3

Ich habe Benutzer Gast die passwordless ist. Dies ist seine Aufzeichnung:

Gast: U6aMy0wojraho: 17057: 0: 99999: 7 :::

Die Zeichenfolge "U6aMy0wojraho" ist das Hash-Passwort des Gastbenutzers. Wenn ich mich einlogge, drücke ich einfach die Eingabetaste für das Passwort und das System lässt mich ein.

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

Ich habe diese Zeichenfolge von der Ubuntu-Live-CD kopiert - der Benutzer ist paswordless.

Raicho Nikolov
quelle
Anstelle der akzeptierten answer ( passwd -d ...) funktioniert dies zusätzlich mit sddm.
mzimmer
1
Das /etc/shadowdirekte Bearbeiten der Datei ist riskant und wird normalerweise nicht empfohlen. Wenn Sie ein guestKonto haben, das in Ordnung ist, aber die Tools zum Bearbeiten des Kennworts verwenden, werden mögliche falsche Benutzereingaben oder Probleme mit der Speicherung von Mehrbenutzerdateien reduziert.
Nathan McCoy
@ NathanMcCoy, ich stimme zu, dass es riskant ist. GUI-Tools erlauben es jedoch nicht, ein leeres Passwort zu erstellen - es erfordert mindestens 6 oder 8 Zeichen. Zumindest ist dies bei Kubuntu der Fall, das ich benutze.
Raicho Nikolov
@ NathanMcCoy Ja, das könnte man chpasswd -esicherer machen: unix.stackexchange.com/a/472966/32558
Ciro Santilli Am
Dies ist ideal für Notfallwiederherstellungsfälle, schließen Sie die Festplatte an (sozusagen) und bearbeiten Sie ein paar Dateien, um den Computer zu reparieren. Fügen Sie diesen Benutzer hinzu und fügen Sie ihn vorübergehend zu Sudoern hinzu. Verwenden Sie dann eine serielle Konsole, um sich anzumelden und den Fehler zu beheben
Ray Foss
2

Benutzer mit leerem Passwort

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

Die Passwortabfrage zeigt leider immer noch.

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

Die -eFahnen erzählenchpasswd dass das Kennwort bereits verschlüsselt ist und U6aMy0wojrahoder Hash der leeren Zeichenfolge ist.

Getestet unter Ubuntu 18.04.

BusyBox-Autologin

Zumindest auf dem Terminal müssen Sie keinen Benutzer ohne Kennwort erstellen, damit nicht jedes Mal inittabein Kennwort eingegeben werden kann. Ein bisschen Hacking reicht aus: Wie kann man sich automatisch anmelden, ohne den Root-Benutzernamen oder das Kennwort in Buildroot BusyBox init einzugeben?

Ciro Santilli ist ein Schauspieler
quelle