Problem beim Zurücksetzen des Root-Passworts auf einem eingebetteten Gerät

Problem beim Zurücksetzen des Root-Passworts auf einem eingebetteten Gerät

Das eingebettete Linux-Dateisystem läuft vollständig auf rohem NAND-Flash, verwende das RootFS von Full Image. Linux v. 2.6.26.5, U-Boot 2009.03 Bootloader. Nachdem der Kernel vollständig geladen ist, zeigt das Gerät beim Versuch, einen Befehl zu übermitteln, die Konsolen-Anmeldeaufforderung an. Ich muss also ein Root-Passwort auf dem Gerät zurücksetzen. Ich habe versucht, dies mit U-Boot zu tun, indem ich am Ende der Kernel-Boot-Parameter Argumente singlehinzugefügt habe:init=/bin/sh

setenv bootargs ${bootargs} single init=/bin/sh

Dann wurde ich mit Root-Rechten in die Busybox-Shell-Befehlszeile weitergeleitet und habe von hier aus versucht, passwdden Befehl zum Zurücksetzen des Root-Passworts auszuführen.

BusyBox v1.10.2 (2015-09-06 10:58:05 CST) built-in shell (ash)
Enter 'help' for a list of built-in commands.

/bin/sh: can't access tty; job control turned off
# help

Built-in commands:
-------------------
    . : [ [[ alias bg break cd chdir continue echo eval exec exit
    export false fg hash help jobs let local pwd read readonly return
    set shift source test times trap true type ulimit umask unalias
    unset wait

# passwd
passwd: unknown uid 0
# cd etc
# cat passwd
cat: can't open 'passwd': No such file or directory
# ls -l
...
lrwxrwxrwx    1 1014     1014           11 Oct 26  2015 passwd -> /tmp/passwd

Wie setze ich das Root-Passwort zurück?

Bearbeiten: aus dem Protokoll

# df
Filesystem           1k-blocks      Used Available Use% Mounted on
df: /proc/mounts: No such file or directory


# cd dev
# ls -l
crw-r--r--    1 0        0          5,   1 Jan  1 00:05 console
crw-r--r--    1 0        0          2,   0 Oct 26  2015 nfs

Antwort1

Sie befinden sich in einer Busybox-Notfall-Shell und Ihre eigentliche Root-Partition ist offensichtlich noch nicht gemountet.

Über können Sie die verfügbaren Geräte auflisten ls /devund über Ihre jeweilige Root-Partition mounten mount /dev/<root_device> /<mount_point>.

Anschließend können Sie passwdunter dem jeweiligen Einhängepunkt die gewünschten Daten bearbeiten.

verwandte Informationen