不知道嵌入式Linux系統下的root密碼,修改新密碼並進入系統

今天一朋友問不知道root 密碼怎麼修改。他這個系統是海思平臺的嵌入式Linux系統。然後嘗試了修改並進入系統。
嵌入式Linux中的root 密碼忘記了或者想破解別人系統的密碼登陸進去。

如果能進入系統,則可以直接修改root 密碼, 直接用passwd root 修改一個新的密碼或者刪除密碼 passwd root -d。

如果系統啓動後要用root 和密碼登錄,而你有不知道密碼,那就執行如下操作進行:

1. 首先進入uboot 中 , 用 print 查看 環境變量

hisilicon # print
arch=arm
baudrate=115200
board=hi3516dv300
board_name=hi3516dv300
bootargs=mem=128M console=ttyAMA0,115200 root=/dev/mtdblock2 rootfstype=jffs2 rw mtdparts=hi_sfc:1M(boot),4M(kernel),11M(rootfs)
bootcmd=sf probe 0;sf read 0x81000000 0x100000 0x400000;bootm 0x81000000
bootdelay=2
cpu=armv7
ethact=eth0
soc=hi3516dv300
stderr=serial
stdin=serial
stdout=serial
vendor=hisilicon
verify=n

Environment size: 416/262140 bytes

2. 將 init=/bin/sh 環境變量設置中,讓系統默認進入shell 
    1)
    setenv bootargs "mem=128M console=ttyAMA0,115200 root=/dev/mtdblock2 rootfstype=jffs2 rw mtdparts=hi_sfc:1M(boot),4M(kernel),11M(rootfs) init=/bin/sh"
    入手命令,改成你係統中的環境變量
    2) 保存環境變量設置 執行如下命令:
    saveenv
    3)重啓
    reset

3. 成功進入shell 

4. 進入到/etc 下面
   查看 passwd 文件,發現裏面的root密碼MD5 加密密碼,不知道這個密碼是root:x:0:0:root:/home/root:/bin/sh多少。
   1)直接 執行passwd root -d看能否刪除密碼,我這裏會報 passwd: unknown uid 0。
   2)直接修改/etc/passwd 文件吧,要是目錄下沒有這個文件,就創建一個。
      /etc/passwd 內容改成  root:x:0:0:root:/home/root:/bin/sh 
      vi /etc/passwd
      保存退出
   3) 這時我們可以重新用命令執行: passwd root 給root 設置新密碼,根據你自己設定
   
   設置好後,reboot 重啓 (不行就拔電源)重新進入到u-boot 裏面。
   
5. 恢復環境變量設置, 也就是去掉 init=/bin/sh
    1)
    setenv bootargs "mem=128M console=ttyAMA0,115200 root=/dev/mtdblock2 rootfstype=jffs2 rw mtdparts=hi_sfc:1M(boot),4M(kernel),11M(rootfs)"
    輸入命令,改成你係統中的環境變量
    2) 保存環境變量設置 執行如下命令:
    saveenv
    3)重啓
    reset
   

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章