操作思路或步驟
(一)方案一思路(只介紹思路及重點命令,不詳細截圖演示操作步驟)
1.把系統盤放入光碟機,設置光碟機引導啟動。
2.進入救急模式,把原系統根目錄所在的分區掛載到當前系統的某一目錄下或者直接選1的continue就行,自動掛載。
圖一
3.按照以下步驟進行操作。
在已知密碼的主機上執行:
[root@ChatDevOps ~]# awk -F ":" 'NR==1{print $2}' /etc/shadow
將已知密碼主機終端輸出內容粘貼到忘記密碼的主機上,關鍵命令如下(將變數$2內容替換成已知密碼主機屏幕顯示內容):
[root@ChatDevOps ~]# awk -F ":" '{if(NR==1){$2="$6$0gOE0PHa$FO.D";}print $0}' /etc/shadow>shadow
[root@ChatDevOps ~]# sed -i '1s/ /:/g' shadow
[root@ChatDevOps ~]# chmod 000 shadow
[root@ChatDevOps ~]# mv shadow /etc/shadow
mv:是否覆蓋"/etc/shadow"? y
此種情況只適用於已經開啟密碼投射的情況,開啟和關閉密碼投射的命令分別如下:
[root@ChatDevOps ~]# pwconv
[root@ChatDevOps ~]# pwunconv
如果沒有開啟密碼投射也不用驚慌,同樣的思路,只不過密碼存放的文件變成了/etc/passwd而已。大家都看懂了嗎?
(二)方案二思路
1.在方案一的基礎上進行操作,本來想和方案一合並的,考慮到合並之後顯得很混亂,就單獨寫了。
2.分區掛載之後,直接把/mnt/sysimage/etc/shadow文件裡面的第一個":"後面的內容直接刪除。
在這一步需要注意的是:shadow的許可權,在刪除文字內容之前需要對該文件加讀寫許可權,編輯完shadow文件之後保存以後去掉新加的許可權。完成之後正常啟動即可,系統啟動之後無需輸入密碼,直接登錄,登錄進去之後passwd命令修改密碼即可。非常方便!重點命令可參考方案四。
(三)方案三操作步驟
1.編輯GRUB2。
正常開啟系統,內核選擇界面即GRUB2引導界面,按e鍵,游標上下移動,找到以linux16開頭的這一行,按下鍵盤上的End鍵,直接跳至這一行的末尾,再按下空格鍵,輸入: d.break,別忘了這里的反斜杠,完成後按下Ctrl+X進入命令行界面,此時屏幕顯示:switch_root:/#。
2.重新掛載原系統文件,並chroot到原系統根目錄下。
switch_root:/# mount -o remount,rw /sysroot
switch_root:/# chroot /sysroot
3.修改密碼。
sh-4.2# passwd root
sh-4.2# touch /.autorelabel
4.Ctrl+D退出,reboot系統,使用新密碼登錄即可。
(四)方案四思路及要點
1.前一二步操作跟方案三一模一樣。
2.刪除/etc/shadow文件root密碼部分內容,需謹慎操作。此步驟具體操作過程跟方案二一致,主要命令如下:
sh-4.2# chmod u+rw /etc/shadow
sh-4.2# awk -F ":" 'NR==1{$2="";print $0}' /etc/shadow>shadow.txt
sh-4.2# sed -i '1s/ /:/g' shadow.txt
sh-4.2# sed -i 1d /etc/shadow
sh-4.2# cat shadow.txt >>/etc/shadow
sh-4.2# rm -rf shadow.txt
sh-4.2# chmod u-rw /etc/shadow
sh-4.2# touch /.autorelabel
touch /.autorelabel這一步是非常關鍵的,如果缺少這一步,刪除root密碼也是沒有用的,親測不坑!
3.Ctrl+D退出,reboot系統,輸入root賬號之後回車鍵無需輸入密碼即可登錄,登錄之後修改密碼。
❷ centos7 mysql重置密碼時怎麼關閉強密碼
進入mysql使用一下語句:
grant select,insert,update,delete,file on *.* to text@"%" identified by "123456";
意思是創建 text這個賬戶密碼為123456 擁有所有遠程連接許可權(%表示所有,也可改成相應的ip或域名),並擁有對所有庫的 插入,更新,刪除許可權。