忘記ubuntu登錄密碼
好吧,不是什麼好事兒,就當忘記密碼講吧。這裡的系統版本是12.04 LTS。
重新啟動機器,在啟動的過程中,按Esc(剛才偶然按著shift+Esc居然調出了ubuntu任務管理器的圖形界面,That is amazing),會看到啟動選項,將焦點移動Recover mode的選項,然後,按e編輯。這樣就可以編輯啟動腳本,移動到最後一行,輸入rw init=/bin/bash,然後回車。最後按F10,啟動計算機。
這樣,會看到一個recover menu的選項界面,選擇“root drop to a root shell prompt”選項,然後,回車。這時在屏幕下方便會有一個命令提示的光標,在這裡可以輸入任何命令,包括修改密碼。但是,如果直接passwd <用戶名>,會提示“authorization token manipulation error”。上網搜了一下,大致原因是因為當從上面的恢復模式直接進入root時,整個文件系統會被只讀掛載(dropping into a root shell from the boot loader. Turned out the filesystem was mounted read only)。因為修改密碼實際上也是修改系統上的shadow文件,所以會出現錯誤。解決的方法是用"mount -o remount,rw /",進行remount,這樣便可以用passwd進行修改密碼了。修改這後,重啟機器,便可以重新登錄了。
說明,ubuntu系統默認沒有啟用root,root賬戶沒有固定的口令,且口令隨時間變化。如果利用passwd root命令給root設置了口令,也就啟用了root賬戶。其實,這樣意義不大,因為當你需要 root 的權限時,使用 sudo 便可以了(而且,如果通過這樣的方式設置了root的密碼,在用上面的方式dropping into a root shell from the boot loader啟動時,系統會要求輸入root的口令)。當然,也可以將其禁用(鎖定,lock)"sudo passwd -l root",用的時候解鎖(unlock)"sudo passwd -u root"。