centos7重置密碼、單用戶模式、救援模式、ls命令、chmod命令
在工作當中如果我們錯誤的配置了文件使伺服器不能正常啟動或者忘記密碼不能登錄系統,如何解決這些問題呢?重裝系統是可以實現的,但是往往不能輕易重裝系統的,下面用忘記密碼作為例子講解如何在不重裝系統的情況下解決這些問題。
centos7重置密碼
單用戶模式重置密碼
單用戶模式:單用戶模式是一個運行級別,在系統中可以運行一個命令來查看系統的運行級別有哪些: ls -l /usr/lib/systemd/system/runlevel.target*
[root@localhost ~]# ls -l /usr/lib/systemd/system/runlevel*.target
lrwxrwxrwx. 1 root root 15 Jan 21 05:36 /usr/lib/systemd/system/runlevel0.target -> poweroff.target
lrwxrwxrwx. 1 root root 13 Jan 21 05:36 /usr/lib/systemd/system/runlevel1.target -> rescue.target
lrwxrwxrwx. 1 root root 17 Jan 21 05:36 /usr/lib/systemd/system/runlevel2.target -> multi-user.target
lrwxrwxrwx. 1 root root 17 Jan 21 05:36 /usr/lib/systemd/system/runlevel3.target -> multi-user.target
lrwxrwxrwx. 1 root root 17 Jan 21 05:36 /usr/lib/systemd/system/runlevel4.target -> multi-user.target
lrwxrwxrwx. 1 root root 16 Jan 21 05:36 /usr/lib/systemd/system/runlevel5.target -> graphical.target
lrwxrwxrwx. 1 root root 13 Jan 21 05:36 /usr/lib/systemd/system/runlevel6.target -> reboot.target
可以看到centos7有0-6,7個運行級別
- 0表示關機。
- 1表示單用戶模式(字面意思是救援模式,我們習慣稱之為單用戶)
- 2-4三個運行級別均表示多用戶模式
- 5表示圖形界面
- 6重啟
如何進入單用戶模式
- 要進入單用戶模式,需要重啟機器,可以使用init 6 或reboot命令來重啟。在機器啟動到grub界面時按上下箭頭(只有幾秒的時間,需要快速按下,否則系統會正常啟動)
- 選中第一條,按下「e」鍵來編輯grub,然後利用箭頭將游標定位到下圖所示的ro處。
- 然後將ro修改為rw init=/sysroot/bin/sh 。按ctrl+x來啟動。
- 接下來機器會啟動到一個內存系統下(類似於Windows的winpe一樣),也會有一個文本的交互界面
重置root密碼
- 運行chroot /sysroot/ 命令來進入我們真正的系統。然後就可以使用passwd root命令來重置密碼了
- 如果原來的系統裝的是中文版的,需要敲LANG=en ,防止因為在這個界面不能正常顯示中文而出現亂碼。
- 運行touch /.autorelabel ,再運行exit退出當前shell 。最後一步 reboot 重啟。
救援模式
我們一般說的救援模式是需要藉助系統盤(光碟或者u盤)這種工具來進入的。
- 如果是物理機,我們首先需要將光碟插入光碟機,然後重啟機器。(虛擬機一樣的步驟)
- 在機器啟動的時候按下F2(不同品牌的伺服器按鍵不一樣,可以根據提示操作)進入BIOS
- 選中boot選項卡,將CD-ROM Drive選項調整到第一項(按+、— 按鍵調整)
- 按下F10保存退出,選擇yes。
- 在下面這個界面中選中Troubleshooting ,敲回車
- 接下來的界面,選擇rescue a centos system,敲回車。然後再敲回車。
- 然後出現一個交互界面,輸入1,回車
- 在這個界面敲回車獲得一個shell,真正的系統卻是在/mnt/sysimage/下
- 運行chroot /mnt/sysimage
- 正常修密碼就可以了,修改完之後,退出當前shell ,重啟系統就可以了。
ls 命令
在centos中有一個man命令,這個man是用來查看其它命令的文檔的,比如要查看ls命令的文檔: man ls ls 命令常常搭配一些參數來使用,以達到我們想要的輸出結果。
- ls -a 查看文件的隱藏許可權
- ls -l 查看文件的詳細信息(時間,大小,許可權,屬主屬組,文件的屬性)
- ls -d 只查看命令後面跟的目錄的信息,而不查看該目錄下其他文件的信息。
- ls -lt 按時間排序時間越早的排的越下面
- ls -i 查看文件的Inode號
[root@localhost ~]# ls -l /tmp
total 4
-rwx------. 1 root root 836 Jan 21 05:45 ks-script-ob6xOy
drwx------. 3 root root 17 Jan 22 12:35 systemd-private-5f7ab756ffe94541891075d943c5de58-chronyd.service-eOAzQl
-rw-------. 1 root root 0 Jan 21 05:34 yum.log
chmod命令。
文件許可權
如上面所示,當使用ll列出一個文件的信息時,最前面有10個字元。
- 第一個字元表示的是文件的類型
- d表示目錄,
- -表示普通文件,
- s表示套介面文件
- b表示塊設備文件
- c表示字元設備文件
- 後面9位表示許可權,前3位表示屬主對該文件的許可權,中間3位表示屬組對該文件的許可權,後3位表示其他用戶對該文件的許可權。
- 許可權的表示rwxrwxrwx ,r=讀許可權,用數字表示為4,w=寫許可權,數字表示為2,x=執行許可權,數字表示為1。所以一個文件的許可權如果是644表示屬主對該文件有讀寫許可權,屬組和其他用戶對該文件只有讀的許可權。
chmod命令是用來更改文件許可權的
[root@localhost tmp]# ls -la test.txt
-rw-r--r--. 1 root root 846 Jan 22 12:57 test.txt
[root@localhost tmp]# chmod 666 test.txt
[root@localhost tmp]# ls -la test.txt
-rw-rw-rw-. 1 root root 846 Jan 22 12:57 test.txt
這是一個比較簡單的用法,直接更改文件的許可權。 還可以這樣使用chmod u=rwx,g=r,o=r filname。這條命令當中,u 表示所有者,g 表示所屬組,o表示其他用戶。
[root@localhost tmp]# chmod u=rw,g=r,o-rw test.txt
[root@localhost tmp]# ls -la test.txt
-rw-r-----. 1 root root 846 Jan 22 12:57 test.txt
{!-- PGC_COLUMN --}
? 著作權歸作者所有
作者:李超小牛子
原文:https://my.oschina.net/u/3731306/blog/3004813


※關係型資料庫(Oracle與MySQL優缺點、使用區別)
※使用Spring-boot快速啟動Spring應用
TAG:程序員小新人學習 |