您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“LInux中如何解決不小心刪除/etc/passwd文件的問(wèn)題”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“LInux中如何解決不小心刪除/etc/passwd文件的問(wèn)題”這篇文章吧。
我們?cè)诓僮? LInux的時(shí)候,如果不小心刪掉/etc/passwd文件,我們?cè)撛鯓咏鉀Q呢? |
在Linux 中 /etc/passwd文件中每個(gè)用戶(hù)都有一個(gè)對(duì)應(yīng)的記錄行,它記錄了這個(gè)用戶(hù)的一些基本屬性。系統(tǒng)管理員經(jīng)常會(huì)接觸到這個(gè)文件的修改以完成對(duì)用戶(hù)的管理工作。
比如說(shuō):
root?0:0:root:/root:/bin/bash
從上面的例子我們可以看到,/etc/passwd中一行記錄對(duì)應(yīng)著一個(gè)用戶(hù),每行記錄又被冒號(hào)(:)分隔為7個(gè)字段,其格式和具體含義如下:
1.用戶(hù)名:口令:用戶(hù)標(biāo)識(shí)號(hào):組標(biāo)識(shí)號(hào):注釋性描述:主目錄:登錄 Shell
2.用戶(hù)名(login_name):是代表用戶(hù)賬號(hào)的字符串。通常長(zhǎng)度不超過(guò)8個(gè)字符,并且由大小寫(xiě)字母和/或數(shù)字組成。登錄名中不能有冒號(hào)(:)因?yàn)槊疤?hào)在這里是分隔符。為了兼容起見(jiàn),登錄名中最好不要包含點(diǎn)字符(.),并且不使用連字符(-)和加號(hào)(+)打頭。
3.口令(passwd):一些系統(tǒng)中,存放著加密后的用戶(hù)口令字。雖然這個(gè)字段存放的只是用戶(hù)口令的加密串,不是明文,但是由于/etc/passwd文件對(duì)所有用戶(hù)都可讀,所以這仍是一個(gè)安全隱患。因此,現(xiàn)在許多 Linux系統(tǒng)(如SVR4)都使用了shadow技術(shù),把真正的加密后的用戶(hù)口令字存放到/etc/shadow文件中,而在/etc/passwd文件的口令字段中只存放一個(gè)特殊的字符,例如“x”或者“*”。
4.用戶(hù)標(biāo)識(shí)號(hào)(UID):是一個(gè)整數(shù),系統(tǒng)內(nèi)部用它來(lái)標(biāo)識(shí)用戶(hù)。一般情況下它與用戶(hù)名是一一對(duì)應(yīng)的。如果幾個(gè)用戶(hù)名對(duì)應(yīng)的用戶(hù)標(biāo)識(shí)號(hào)是一樣的,系統(tǒng)內(nèi)部將把它們視為同一個(gè)用戶(hù),但是它們可以有不同的口令、不同的主目錄以及不同的登錄Shell等。取值范圍是0-65535。0是超級(jí)用戶(hù)root的標(biāo)識(shí)號(hào),1-99由系統(tǒng)保留,作為管理賬號(hào),普通用戶(hù)的標(biāo)識(shí)號(hào)從100開(kāi)始。在Linux系統(tǒng)中,這個(gè)界限是500。
5.組標(biāo)識(shí)號(hào)(GID):字段記錄的是用戶(hù)所屬的用戶(hù)組。它對(duì)應(yīng)著/etc/group文件中的一條記錄。
6.注釋性描述(users):字段記錄著用戶(hù)的一些個(gè)人情況,例如用戶(hù)的真實(shí)姓名、電話(huà)、地址等,這個(gè)字段并沒(méi)有什么實(shí)際的用途。在不同的Linux系統(tǒng)中,這個(gè)字段的格式并沒(méi)有統(tǒng)一。在許多Linux系統(tǒng)中,這個(gè)字段存放的是一段任意的注釋性描述文字,用做finger 命令的輸出。
7.用戶(hù)主目錄(home_directory):也就是用戶(hù)的起始工作目錄,它是用戶(hù)在登錄到系統(tǒng)之后所處的目錄。在大多數(shù)系統(tǒng)中,各用戶(hù)的主目錄都被組織在同一個(gè)特定的目錄下,而用戶(hù)主目錄的名稱(chēng)就是該用戶(hù)的登錄名。各用戶(hù)對(duì)自己的主目錄有讀、寫(xiě)、執(zhí)行(搜索)權(quán)限,其他用戶(hù)對(duì)此目錄的訪問(wèn)權(quán)限則根據(jù)具體情況設(shè)置。
8.登錄Shell(Shell):用戶(hù)登錄后,要啟動(dòng)一個(gè)進(jìn)程,負(fù)責(zé)將用戶(hù)的操作傳給內(nèi)核,這個(gè)進(jìn)程是用戶(hù)登錄到系統(tǒng)后運(yùn)行的 命令解釋器或某個(gè)特定的程序,即Shell。Shell是用戶(hù)與Linux系統(tǒng)之間的接口。Linux的Shell有許多種,每種都有不同的特點(diǎn)。如果不指定Shell,那么系統(tǒng)使用sh為默認(rèn)的登錄Shell,即這個(gè)字段的值為/bin/sh。
用戶(hù)的登錄Shell可以指定為某個(gè)特定的程序(此程序不是一個(gè)命令解釋器)。利用這一特點(diǎn),我們可以限制用戶(hù)只能運(yùn)行指定的應(yīng)用程序,在該應(yīng)用程序運(yùn)行結(jié)束后,用戶(hù)就自動(dòng)退出了系統(tǒng)。有些Linux系統(tǒng)要求只有那些在系統(tǒng)中登記了的程序才能出現(xiàn)在這個(gè)字段中。
那么我們?cè)诓僮鱈Inux的時(shí)候,如果不小心刪掉/etc/passwd文件,我們?cè)撛鯓咏鉀Q呢?
一.如果刪掉之后未重啟系統(tǒng),那么我們只需要將/etc/passwd-這個(gè)引子文件拷貝給/etc/passwd即可
cp /etc/passwd- /etc/passwd
二.如果我們?cè)趧h除文件后關(guān)閉了系統(tǒng),打開(kāi)的時(shí)候會(huì)發(fā)現(xiàn)進(jìn)不去
那我們這樣解決:
1.在GRUB引導(dǎo)的時(shí)候按e進(jìn)入編輯模式,linux16那一行的ro 修改為rw rd.break
2.ctrl+x執(zhí)行
3.進(jìn)入單用戶(hù)模式后修改根路徑,將引子程序拷進(jìn)來(lái)
chroot /sysroot cp /etc/passwd- /etc/passwd
4.因?yàn)榭截愡M(jìn)來(lái)文件的安全上下文和當(dāng)親目錄不匹配,那么我們需要關(guān)閉selinux
vim /etc/sysconfig/selinux selinux = disabled
5.兩次exit退出現(xiàn)在的根并且重啟主機(jī),恢復(fù)正常
以上是“LInux中如何解決不小心刪除/etc/passwd文件的問(wèn)題”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。