不小心刪除/etc/passwd文件怎麼辦

在Linux 中 /etc/passwd文件中每個用戶都有一個對應的記錄行,它記錄了這個用戶的一些基本屬性。系統管理員經常會接觸到這個文件的修改以完成對用戶的管理工作。

比如說:

root❌0:0:root:/root:/bin/bash

從上面的例子我們可以看到,/etc/passwd中一行記錄對應着一個用戶,每行記錄又被冒號(:)分隔爲7個字段,其格式和具體含義如下:

1.用戶名:口令:用戶標識號:組標識號:註釋性描述:主目錄:登錄Shell

2.用戶名(login_name):是代表用戶賬號的字符串。通常長度不超過8個字符,並且由大小寫字母和/或數字組成。登錄名中不能有冒號(:)因爲冒號在這裏是分隔符。爲了兼容起見,登錄名中最好不要包含點字符(.),並且不使用連字符(-)和加號(+)打頭。

3.口令(passwd):一些系統中,存放着加密後的用戶口令字。雖然這個字段存放的只是用戶口令的加密串,不是明文,但是由於/etc/passwd文件對所有用戶都可讀,所以這仍是一個安全隱患。因此,現在許多Linux系統(如SVR4)都使用了shadow技術,把真正的加密後的用戶口令字存放到/etc/shadow文件中,而在/etc/passwd文件的口令字段中只存放一個特殊的字符,例如“x”或者“*”。

4.用戶標識號(UID):是一個整數,系統內部用它來標識用戶。一般情況下它與用戶名是一一對應的。如果幾個用戶名對應的用戶標識號是一樣的,系統內部將把它們視爲同一個用戶,但是它們可以有不同的口令、不同的主目錄以及不同的登錄Shell等。取值範圍是0-65535。0是超級用戶root的標識號,1-99由系統保留,作爲管理賬號,普通用戶的標識號從100開始。在Linux系統中,這個界限是500。

5.組標識號(GID):字段記錄的是用戶所屬的用戶組。它對應着/etc/group文件中的一條記錄。

6.註釋性描述(users):字段記錄着用戶的一些個人情況,例如用戶的真實姓名、電話、地址等,這個字段並沒有什麼實際的用途。在不同的Linux系統中,這個字段的格式並沒有統一。在許多Linux系統中,這個字段存放的是一段任意的註釋性描述文字,用做finger命令的輸出。

7.用戶主目錄(home_directory):也就是用戶的起始工作目錄,它是用戶在登錄到系統之後所處的目錄。在大多數系統中,各用戶的主目錄都被組織在同一個特定的目錄下,而用戶主目錄的名稱就是該用戶的登錄名。各用戶對自己的主目錄有讀、寫、執行(搜索)權限,其他用戶對此目錄的訪問權限則根據具體情況設置。

8.登錄Shell(Shell):用戶登錄後,要啓動一個進程,負責將用戶的操作傳給內核,這個進程是用戶登錄到系統後運行的命令解釋器或某個特定的程序,即Shell。Shell是用戶與Linux系統之間的接口。Linux的Shell有許多種,每種都有不同的特點。如果不指定Shell,那麼系統使用sh爲默認的登錄Shell,即這個字段的值爲/bin/sh。

用戶的登錄Shell可以指定爲某個特定的程序(此程序不是一個命令解釋器)。利用這一特點,我們可以限制用戶只能運行指定的應用程序,在該應用程序運行結束後,用戶就自動退出了系統。有些Linux系統要求只有那些在系統中登記了的程序才能出現在這個字段中。

那麼我們在操作LInux的時候,如果不小心刪掉/etc/passwd文件,我們該怎樣解決呢?

一.如果刪掉之後未重啓系統,那麼我們只需要將/etc/passwd-這個引子文件拷貝給/etc/passwd即可

cp /etc/passwd- /etc/passwd

二.如果我們在刪除文件後關閉了系統,打開的時候會發現進不去

不小心刪除/etc/passwd文件怎麼辦不小心刪除/etc/passwd文件怎麼辦

那我們這樣解決:

1.在GRUB引導的時候按e進入編輯模式,linux16那一行的ro 修改爲rw rd.break

2.ctrl+x執行

3.進入單用戶模式後修改根路徑,將引子程序拷進來

chroot /sysroot

cp /etc/passwd- /etc/passwd

4.因爲拷貝進來文件的安全上下文和當親目錄不匹配,那麼我們需要關閉selinux

vim /etc/sysconfig/selinux

selinux = disabled

5.兩次exit退出現在的根並且重啓主機,恢復正常


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