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 root
Konto und erstellte von dort test-account
mit 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 Enter
funktioniert 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
)?
adduser
kennt die-p
Möglichkeit ein Passwort zu setzen, dessen Verwendung nicht empfohlen wird. Legen Sie als rootpasswd test-account
ein Passwort fest.su test-account
. Das schaltet auftest-account
ohne eine Passwortabfrage (was auch passieren würde, wenntest-account
ein Passwort hätte). Wenn ich jedoch versuche, von einem anderen nicht privilegierten Benutzerkonto zu einemeneter
Antworten:
Standardmäßig
adduser
erstellt 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.
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
passwd
fü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.
jetzt sollte jeder benutzer in der
su
lage sein, sich als benutzertest
in meinem beispiel anzumelden. Sie müssen nicht verwenden,sudo
um 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.
quelle
test-account
diesem Fall von root zu root wechseln (Benutzer wird deaktiviert)?su test-account
su
root darauf wechseln ?root
Benutzer kannsu
in jedes Konto, das eine Shell hat. Wenn die Shell/bin/false
zum Beispiel auf eingestellt wäre, würde es nicht funktionieren. Es ist nur die Magie vonroot
! Viele Benutzerkonten haben keine gültige Shell und werden nur zum Ausführen bestimmter Programme als dieser Benutzer verwendet. wie derapache
Benutzer und der Apache-Webserver.Ich habe Benutzer Gast die passwordless ist. Dies ist seine Aufzeichnung:
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.
quelle
passwd -d ...
) funktioniert dies zusätzlich mit sddm./etc/shadow
direkte Bearbeiten der Datei ist riskant und wird normalerweise nicht empfohlen. Wenn Sie einguest
Konto 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.chpasswd -e
sicherer machen: unix.stackexchange.com/a/472966/32558Benutzer mit leerem Passwort
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
-e
Fahnen erzählenchpasswd
dass das Kennwort bereits verschlüsselt ist undU6aMy0wojraho
der 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
inittab
ein 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?quelle