linux redhat Centos debian root密碼丟失的解決方法
有兩種方法可以修改root密碼:
1. 進入單用戶模式修改密碼
對於lilo,在啟動時輸入
代碼:
boot: linux single
對於grub(通常現在系統都是用這個), 在系統啟動時按鍵盤“e”編輯啟動項,在“kernel xxx”行末尾加一個空格 single
然后回車按鍵盤b
如下命令:
kernel /boot/lfskernel-2.6.8.1 root=/dev/hda2 ro single
啟動后root將不會提示密碼,輸入命令
passwd root 可以重新設置密碼
但是有一些特殊的 init 使得這一方法可能不那么順利,比如會出現以下提示(或其他古怪信息):
代碼:
Give root password for maintenance
(or type Control-D for normal startup)
那么就需要直接使用 bash 而不是系統的 init :
代碼:
#對於lilo:
boot: linux init=/bin/bash
對於grub:(通常系統都是用這個)
在系統啟動里,菜單項后面加入init=/bin/bash把原
kernel /boot/lfskernel-2.6.8.1 root=/dev/hda2 ro quiet
修改換成下面的命令:
kernel /boot/lfskernel-2.6.8.1 root=/dev/hda2 ro init=/bin/bash
啟動后會得到一個 root shell , 但硬盤是只讀的, 需要重新加載:
代碼:
# mount -o remount,rw /
.... 做你想做的事吧, 比如 vi /etc/passwd ....
.... 做你想做的事吧, 比如vi /etc/stab,將你修改錯的分區修復回來。
# mount -o remount,ro /
或直接輸入破解root密碼
passwd root 可以重新設置密碼
可以重新啟動了
2.:加載系統分區修改密碼(適用於啟動管理器有密碼保護的情況)
可以使用其他linux LiveCD(如Knoppix和RedHat安裝盤的rescue模式)啟動,加載系統所在的分區:
代碼:
mount /dev/hda2 /mnt
然后直接修改/mnt/etc/passwd,清空其中的password項
或
代碼:
chroot /mnt
passwd
設置新密碼
