root-Passwort vergessen - bekannte Prozedur funktioniert nicht mehr
Hallo ML, entweder hat sich was ge=C3=A4ndert oder ich bin total vergesslich. Ich habe ein Opensuse 15.2 Leap und habe das root-Passwort vergessen. Kein Problem dachte ich. Mit Knoppix gebootet, root-Partition gemountet, den hashwert in /etc/shadow= gel=C3=B6scht, Neustart ... keine Anmeldung m=C3=B6glich !?! Hab ich irgendwas =C3=BCbersehen ? Oder hat sich was ge=C3=A4ndert ? Danke. Bernd --=20 Bernd Lentes=20 System Administrator=20 Institute for Metabolism and Cell Death (MCD)=20 Building 25 - office 122=20 HelmholtzZentrum M=C3=BCnchen=20 bernd.lentes@helmholtz-muenchen.de=20 phone: +49 89 3187 1241=20 phone: +49 89 3187 3827=20 fax: +49 89 3187 2294=20 http://www.helmholtz-muenchen.de/mcd Helmholtz Zentrum München Helmholtz Zentrum Muenchen Deutsches Forschungszentrum fuer Gesundheit und Umwelt (GmbH) Ingolstaedter Landstr. 1 85764 Neuherberg www.helmholtz-muenchen.de Aufsichtsratsvorsitzende: MinDir.in Prof. Dr. Veronika von Messling Geschaeftsfuehrung: Prof. Dr. med. Dr. h.c. Matthias Tschoep, Kerstin Guenther Registergericht: Amtsgericht Muenchen HRB 6466 USt-IdNr: DE 129521671
On Tue, 16 Mar 2021 17:31:37 +0100 (CET) "Lentes, Bernd" <bernd.lentes@helmholtz-muenchen.de> wrote: Hallo Bernd!
root-Partition gemountet, den hashwert in > /etc/shadow= gel=C3=B6scht, Neustart ... Vor langer Zeit habe ich es auch mal erfolgreich so gemacht, bin mir aber nicht sicher, ob ich das Feld tatsächlich leer gelassen habe.
Ich gehe davon aus, daß der Anfang der Zeile in shadow jetzt so aussieht und Du nicht aus Versehen einen ":" mit gelöscht hast: root:: [usw.] Lt. man shadow sollte das funktionieren. Du könntest mal versuchen, statt des Hashes ein "!" oder einen "*" zu setzen. Führt das nicht zum Erfolg, könntest Du noch mittels crypt aus einem simplen Paßwort einen Hash erzeugen und den einsetzen. Wenn ich mich nicht täusche, sind das jetzt SHA512 Hashes. Viele Grüße Matthias
----- On Mar 16, 2021, at 6:38 PM, jpr liste01 jpr.liste01@jpberlin.de wrot= e:
On Tue, 16 Mar 2021 17:31:37 +0100 (CET) "Lentes, Bernd" <bernd.lentes@helmholtz-muenchen.de> wrote: =20 Hallo Bernd! =20
root-Partition gemountet, den hashwert in > /etc/shadow=3D gel=3DC3=3DB6scht, Neustart ... Vor langer Zeit habe ich es auch mal erfolgreich so gemacht, bin mir aber nicht sicher, ob ich das Feld tats=C3=A4chlich leer gelassen habe. =20 Ich gehe davon aus, da=C3=9F der Anfang der Zeile in shadow jetzt so aussieht und Du nicht aus Versehen einen ":" mit gel=C3=B6scht hast: root:: [usw.] Lt. man shadow sollte das funktionieren.
sieht genau so aus: root::18554:::::: man shadow: If the password field contains some string that is not a valid result of cr= ypt(3), for instance ! or *, the user will not be able to use a unix passwo= rd to log in (but the user may log in the system by other means). This field may be empty, in which case no passwords are required to authent= icate as the specified login name. However, some applications which read th= e /etc/shadow file may decide not to permit any access at all if the passwo= rd field is empty. Also mit * oder ! ist auch nix. Und wenn das Feld leer ist, kann er sich ohne PW anmelden. Und dann wird es f=C3=BCr manpages bemerkenswert unpr=C3=A4zise. However, "some applications" which read the /etc/shadow file may decide not= to permit any access at all if the password field is empty. Was k=C3=B6nnten das f=C3=BCr "some applications" sein ? Bernd Helmholtz Zentrum München Helmholtz Zentrum Muenchen Deutsches Forschungszentrum fuer Gesundheit und Umwelt (GmbH) Ingolstaedter Landstr. 1 85764 Neuherberg www.helmholtz-muenchen.de Aufsichtsratsvorsitzende: MinDir.in Prof. Dr. Veronika von Messling Geschaeftsfuehrung: Prof. Dr. med. Dr. h.c. Matthias Tschoep, Kerstin Guenther Registergericht: Amtsgericht Muenchen HRB 6466 USt-IdNr: DE 129521671
Hallo Bernd, hmm, Du hast doch sicher ein "normales = unprivilegiertes Konto auf der Kiste? Wenn ja, koppiere diesen Passworthash in das Passwortfeld von root! Die ganz saubere Methode wäre: - Rettungssystemstarten - mkdir /root - mount /dev/<rootdev> /root (Orig.-Root-Dev mounten) - chroot /root - passwd root Grüße Mike Am Dienstag, 16. März 2021, 17:31:37 CET schrieb Lentes, Bernd:
Hallo ML,
entweder hat sich was ge=C3=A4ndert oder ich bin total vergesslich. Ich habe ein Opensuse 15.2 Leap und habe das root-Passwort vergessen. Kein Problem dachte ich. Mit Knoppix gebootet, root-Partition gemountet, den hashwert in /etc/shadow= gel=C3=B6scht, Neustart ... keine Anmeldung m=C3=B6glich !?! Hab ich irgendwas =C3=BCbersehen ? Oder hat sich was ge=C3=A4ndert ?
Danke.
Bernd
--=20
Bernd Lentes=20 System Administrator=20 Institute for Metabolism and Cell Death (MCD)=20 Building 25 - office 122=20 HelmholtzZentrum M=C3=BCnchen=20 bernd.lentes@helmholtz-muenchen.de=20 phone: +49 89 3187 1241=20 phone: +49 89 3187 3827=20 fax: +49 89 3187 2294=20 http://www.helmholtz-muenchen.de/mcd Helmholtz Zentrum München
Helmholtz Zentrum Muenchen Deutsches Forschungszentrum fuer Gesundheit und Umwelt (GmbH) Ingolstaedter Landstr. 1 85764 Neuherberg www.helmholtz-muenchen.de Aufsichtsratsvorsitzende: MinDir.in Prof. Dr. Veronika von Messling Geschaeftsfuehrung: Prof. Dr. med. Dr. h.c. Matthias Tschoep, Kerstin Guenther Registergericht: Amtsgericht Muenchen HRB 6466 USt-IdNr: DE 129521671
Am Dienstag, 16. März 2021, 17:31:37 CET schrieb Lentes, Bernd:
Hallo ML,
entweder hat sich was ge=C3=A4ndert oder ich bin total vergesslich. Ich habe ein Opensuse 15.2 Leap und habe das root-Passwort vergessen. Kein Problem dachte ich. Mit Knoppix gebootet, root-Partition gemountet, den hashwert in /etc/shadow= gel=C3=B6scht, Neustart ... keine Anmeldung m=C3=B6glich !?! Hab ich irgendwas =C3=BCbersehen ? Oder hat sich was ge=C3=A4ndert ?
Die methode war mir jetzt total neu - und deinen Erlebnissen nach werd ich die nicht ausprobieren. Gib beim booten als kernelparameter ein rd.break mit an, dann kommst du in einer super notfall shell raus, die ist dann an der stelle im bootvorgang wo / zwar schon gemountet ist aber noch RO auf /sysroot. Also als nächstes ein "mount -o remount,rw /sysroot", und danach ein "/chroot /sysroot", und dann einfach mit passwd das passwort für root neu setzen. Cheers MH -- Mathias Homann Mathias.Homann@openSUSE.org Jabber (XMPP): lemmy@tuxonline.tech IRC: [Lemmy] on freenode and ircnet (bouncer active) telegram: https://telegram.me/lemmy98 keybase: https://keybase.io/lemmy gpg key fingerprint: 8029 2240 F4DD 7776 E7D2 C042 6B8E 029E 13F2 C102
Am Dienstag, 16. März 2021, 23:10:14 CET schrieb Mathias Homann:
"/chroot /sysroot", und dann einfach mit passwd das passwort für root neu
ok da ist jetzt ein / zuviel. Muss natürlich "chroot /sysroot" heissen, oder optional "chroot /sysroot /bin/bash --login" Cheers MH -- Mathias Homann Mathias.Homann@openSUSE.org Jabber (XMPP): lemmy@tuxonline.tech IRC: [Lemmy] on freenode and ircnet (bouncer active) telegram: https://telegram.me/lemmy98 keybase: https://keybase.io/lemmy gpg key fingerprint: 8029 2240 F4DD 7776 E7D2 C042 6B8E 029E 13F2 C102
Am 16.03.21 um 17:31 schrieb Lentes, Bernd:
Hallo ML,
entweder hat sich was ge=C3=A4ndert oder ich bin total vergesslich. Ich habe ein Opensuse 15.2 Leap und habe das root-Passwort vergessen. Kein Problem dachte ich. Mit Knoppix gebootet, root-Partition gemountet, den hashwert in /etc/shadow= gel=C3=B6scht, Neustart ... keine Anmeldung m=C3=B6glich !?! Hab ich irgendwas =C3=BCbersehen ? Oder hat sich was ge=C3=A4ndert ?
Danke.
Bernd
--=20
Bernd Lentes=20 System Administrator=20 Institute for Metabolism and Cell Death (MCD)=20 Building 25 - office 122=20 HelmholtzZentrum M=C3=BCnchen=20 bernd.lentes@helmholtz-muenchen.de=20 phone: +49 89 3187 1241=20 phone: +49 89 3187 3827=20 fax: +49 89 3187 2294=20 http://www.helmholtz-muenchen.de/mcd Helmholtz Zentrum München
Helmholtz Zentrum Muenchen Deutsches Forschungszentrum fuer Gesundheit und Umwelt (GmbH) Ingolstaedter Landstr. 1 85764 Neuherberg www.helmholtz-muenchen.de Aufsichtsratsvorsitzende: MinDir.in Prof. Dr. Veronika von Messling Geschaeftsfuehrung: Prof. Dr. med. Dr. h.c. Matthias Tschoep, Kerstin Guenther Registergericht: Amtsgericht Muenchen HRB 6466 USt-IdNr: DE 129521671
Hi, einfach löschen funktioniert nicht. Das ist wie "kein gültiges Passwort eingebbar"... Wenn Du so vorgehen willst, dann: ... entweder Du hast eine Zeile in der /etc/shadow für die Du das Passwort kennst - kopier das und ersetze den Usernamen davor mit "root", wenn Du keines kennst, generier Dir eins, mach in Knoppix ein useradd (sollte Knoppix doch auch haben, sonst mach das einfach auf einer anderen Kiste) und kopier den Hash genauso in die /etc/shadow. Solange es ein gleichbittiges Linux ist, sollte der hash auch für das gleiche Passwort funktionieren. Die Hashs sind unabhängig vom Usernamen. -- cu jth
On Tue, 16 Mar 2021 17:31:37 +0100 (CET) "Lentes, Bernd" <bernd.lentes@helmholtz-muenchen.de> wrote:
Mit Knoppix gebootet, root-Partition gemountet, den hashwert in /etc/shadow= gel=C3=B6scht,
AFAIK kann man bei jeder Linux-Installation, die einen Bootloader mit Menue verwendet, über einen zusätzlichen Parameter im Single-User-Modus ohne root-Passworteingabe starten. Dazu hängt man an den String mit dem Kernelaufruf (fängt meist mit "linux" an) ein " S" an, um im ersten runlevel zu starten. Habe auch von einer Variante mit der Ergänzung "init=/sysroot/bin/bash" gehört. Jedenfalls wird man so root und kann mit "passwd" das root-Passwort neu setzen. Meist (immer?) muss man zuvor die Root-Partition "rw" remounten, damit passwd die Dateien unter /etc ändern kann. Gruß, Tobias.
...das war beides VOR systemd so. Ist also gefühlt ca. 10 Jahre her. Das mit dem bootparameter stimmt zwar noch, aber der heisst jetzt "rd.break" und die Prozedur zum zurücksetzen ist ein wenig anders... und mit dem editor in /etc/shadow rumpusseln tut echt nicht not. Cheers MH Am 12.05.2021 um 04:10 schrieb Tobias Crefeld:
On Tue, 16 Mar 2021 17:31:37 +0100 (CET) "Lentes, Bernd" <bernd.lentes@helmholtz-muenchen.de> wrote:
Mit Knoppix gebootet, root-Partition gemountet, den hashwert in /etc/shadow= gel=C3=B6scht, AFAIK kann man bei jeder Linux-Installation, die einen Bootloader mit Menue verwendet, über einen zusätzlichen Parameter im Single-User-Modus ohne root-Passworteingabe starten. Dazu hängt man an den String mit dem Kernelaufruf (fängt meist mit "linux" an) ein " S" an, um im ersten runlevel zu starten. Habe auch von einer Variante mit der Ergänzung "init=/sysroot/bin/bash" gehört.
Jedenfalls wird man so root und kann mit "passwd" das root-Passwort neu setzen. Meist (immer?) muss man zuvor die Root-Partition "rw" remounten, damit passwd die Dateien unter /etc ändern kann.
Gruß, Tobias.
-- Mathias Homann Mathias.Homann@openSUSE.org Jabber (XMPP): lemmy@tuxonline.tech IRC: [Lemmy] on freenode and ircnet (bouncer active) telegram: https://telegram.me/lemmy98 keybase: https://keybase.io/lemmy gpg key fingerprint: 8029 2240 F4DD 7776 E7D2 C042 6B8E 029E 13F2 C102
Am Wed, 12 May 2021 09:24:07 +0200 schrieb Mathias Homann <Mathias.Homann@opensuse.org>:
...das war beides VOR systemd so. Ist also gefühlt ca. 10 Jahre her.
Das mit dem bootparameter stimmt zwar noch, aber der heisst jetzt "rd.break" und die Prozedur zum zurücksetzen ist ein wenig anders... und mit dem editor in /etc/shadow rumpusseln tut echt nicht not.
Hm, wenn ich so nachdenke, war die Prozedur tatsächlich nur nötig bei Systemen, die so alt waren, dass niemand mehr das root-Passwort wusste. Der Zusammenhang mit der Frage systemd vs. init.d erschließt sich mir allerdings grad nicht. Schließlich handelt es sich um einen Kernel-Parameter, der einen Start im Single-User-Mode bewirkt und runlevel gibt es ja auch unter systemd noch!? Es ist allerdings mittlerweile offensichtlich üblich, auch die Shell im Single-User-Mode mit einer Passworteingabe abzusichern. In diesem Fall helfen die Kernel-Parameter rw (statt ro) und init=/bin/bash , um ohne Passwort eine root-Shell zu bekommen. Da muss man anschließend auch nicht mit remount und chroot rumspielen. Ein einfaches "passwd" reicht. Nicht ganz sicher bin ich mir bei Systemen mit aktiviertem SE-Linux. Falls da bei der Ausführung von passwd kein SE-Linux läuft, könnte ein relabeling nötig werden. Ein Test war grad eben auch auf einem relativ aktuellen System mit systemd erfolgreich. Auf aktuellen Suse-Systemen habe ich es nicht getestet. Trotzdem Danke für den Hinweis auf rd.break. Muss ich mir mal näher ansehen, was der genau bewirken soll. -- Gruss, Tobias Crefeld. xmpp (no email): crefeld@xabber.de
Am Sonntag, 16. Mai 2021, 11:00:54 CEST schrieb Tobias Crefeld:
Am Wed, 12 May 2021 09:24:07 +0200
schrieb Mathias Homann <Mathias.Homann@opensuse.org>:
...das war beides VOR systemd so. Ist also gefühlt ca. 10 Jahre her.
Das mit dem bootparameter stimmt zwar noch, aber der heisst jetzt "rd.break" und die Prozedur zum zurücksetzen ist ein wenig anders... und mit dem editor in /etc/shadow rumpusseln tut echt nicht not.
Hm, wenn ich so nachdenke, war die Prozedur tatsächlich nur nötig bei Systemen, die so alt waren, dass niemand mehr das root-Passwort wusste.
Der Zusammenhang mit der Frage systemd vs. init.d erschließt sich mir allerdings grad nicht. Schließlich handelt es sich um einen Kernel-Parameter, der einen Start im Single-User-Mode bewirkt und runlevel gibt es ja auch unter systemd noch!?
nein, runlevel gibt es unter systemd (eigentlich) nicht. <mode=linuxinstructor> Unter Systemd gibt es sogenannte "targets". Ein Target ist eine Zusammenfassung von Diensten die zusammengehören. Es können mehrere Targets zur gleichen Zeit aktiv sein. Es gibt beim Bootvorgang ein "default target", da will man sozusagen hin. Über die Abhängigkeiten werden dann beliebig viele andere Targets dazugeholt. Ein Desktopsystem hat z.b. üblicherweise als default target "graphical.target" eingestellt, das zieht dann über abhängigkeiten erst mal das "multi- user.target" an, das wiederum braucht network.target, und so weiter, und so fort. Mit dem systemctl-befehl kann man diesen Abhängigkeitsbaum gut sehen: systemctl list-dependencies graphical.target Von einem target zum anderen umschalten tut man nicht: man "isoliert" ein target. Das geht nur bei Targets die auch als default target funktionieren würden, also z.b. dem graphical.target, dem multi-user.target oder den zwei notfalltargets emergency.target und rescue.target. Nun gibt es aber "alte hasen" überall, auch in der Unix-Welt, und für die gibt es systemd targets die runlevelX.target heissen. Und dazu dann einen runlevel befehl der bei aufruf von "runlevel 3" in wirklichkeit nix anderes tut als unter der Haube "systemctl isolate runlevel2.target" aufzurufen. Wichtigste Neuerung hier: auch die zwei Wartungstargets "emergency.target" und "rescue.target" brauchen die eingabe des root passwortes. Wenn man das nicht hat: kernelparameter rd.break verwenden, dran denken dass das root filesystem noch RO ist - mount -o remount,rw /sysroot, chroot / sysroot, und passwd befehl. Und VORSICHT bei systemen mit selinux, also red hat verwante und Tumbleweed: in der rd-break-shell ist SELinux noch nicht aktiv, es werden also KEINE LABEL AKTUALISIERT. Wenn man den befehl "touch /.autorelabel" in der chroot umgebung vergisst bootet das system nicht mehr... </mode> Wem das jetzt zu lang war: warum hast du dann bis hier gelesen? XD Sorry, ich hab den Kram 5 Jahre lang unterrichtet. Cheers MH -- Mathias Homann Mathias.Homann@openSUSE.org Jabber (XMPP): lemmy@tuxonline.tech IRC: [Lemmy] on freenode and ircnet (bouncer active) telegram: https://telegram.me/lemmy98 keybase: https://keybase.io/lemmy gpg key fingerprint: 8029 2240 F4DD 7776 E7D2 C042 6B8E 029E 13F2 C102
participants (7)
-
Jörg Thümmler
-
Lentes, Bernd
-
Mathias Homann
-
Matthias
-
Mike Philipp
-
Peter Geerds
-
Tobias Crefeld