欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Linux?/etc/passwd詳解

 更新時(shí)間:2024年12月12日 11:47:24   作者:富士康質(zhì)檢員張全蛋  
文章介紹了Linux系統(tǒng)/etc/passwd文件的結(jié)構(gòu)和字段含義,包括用戶名、密碼、UID、GID、描述性信息、主目錄和默認(rèn)Shell,UID和GID用于識(shí)別和分配權(quán)限,描述性信息提供用戶相關(guān)信息,主目錄定義用戶登錄后的操作權(quán)限,而默認(rèn)Shell則作為用戶與系統(tǒng)的交互橋梁

Linux /etc/passwd

Linux 系統(tǒng)中的 /etc/passwd 文件,是系統(tǒng)用戶配置文件,存儲(chǔ)了系統(tǒng)中所有用戶的基本信息,并且所有用戶都可以對(duì)此文件執(zhí)行讀操作。 

首先我們來打開這個(gè)文件,看看到底包含哪些內(nèi)容,執(zhí)行命令如下:

[root@localhost ~]# vi /etc/passwd
#查看一下文件內(nèi)容
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
...省略部分輸出...

可以看到,/etc/passwd 文件中的內(nèi)容非常規(guī)律,每行記錄對(duì)應(yīng)一個(gè)用戶。 

Linux 系統(tǒng)中默認(rèn)怎么會(huì)有這么多的用戶?這些用戶中的絕大多數(shù)是系統(tǒng)或服務(wù)正常運(yùn)行所必需的用戶,這種用戶通常稱為系統(tǒng)用戶或偽用戶。系統(tǒng)用戶無法用來登錄系統(tǒng),但也不能刪除,因?yàn)橐坏﹦h除,依賴這些用戶運(yùn)行的服務(wù)或程序就不能正常執(zhí)行,會(huì)導(dǎo)致系統(tǒng)問題。

不僅如此,每行用戶信息都以 ":" 作為分隔符,劃分為 7 個(gè)字段,每個(gè)字段所表示的含義如下:

用戶名:密碼:UID(用戶ID):GID(組ID):描述性信息:主目錄:默認(rèn)Shell

接下來,給大家逐個(gè)介紹這些字段。

用戶名

用戶名,就是一串代表用戶身份的字符串。

用戶名僅是為了方便用戶記憶,Linux 系統(tǒng)是通過 UID 來識(shí)別用戶身份,分配用戶權(quán)限的。/etc/passwd 文件中就定義了用戶名和 UID 之間的對(duì)應(yīng)關(guān)系。

密碼

"x" 表示此用戶設(shè)有密碼,但不是真正的密碼,真正的密碼保存在 /etc/shadow 文件中(下一節(jié)做詳細(xì)介紹)。 

在早期的 UNIX 中,這里保存的就是真正的加密密碼串,但由于所有程序都能讀取此文件,非常容易造成用戶數(shù)據(jù)被竊取。

雖然密碼是加密的,但是采用暴力.破解的方式也是能夠進(jìn)行破解的。

因此,現(xiàn)在 Linux 系統(tǒng)把真正的加密密碼串放置在 /etc/shadow 文件中,此文件只有 root 用戶可以瀏覽和操作,這樣就最大限度地保證了密碼的安全。 

需要注意的是,雖然 "x" 并不表示真正的密碼,但也不能刪除,如果刪除了 "x",那么系統(tǒng)會(huì)認(rèn)為這個(gè)用戶沒有密碼,從而導(dǎo)致只輸入用戶名而不用輸入密碼就可以登陸(只能在使用無密碼登錄,遠(yuǎn)程是不可以的),除非特殊情況(如破解用戶密碼),這當(dāng)然是不可行的。

UID

UID,也就是用戶 ID。每個(gè)用戶都有唯一的一個(gè) UID,Linux 系統(tǒng)通過 UID 來識(shí)別不同的用戶。 

實(shí)際上,UID 就是一個(gè) 0~65535 之間的數(shù),不同范圍的數(shù)字表示不同的用戶身份,具體如表 1 所示。

表 1 UID代表不同身份的用戶

UID 范圍用戶身份
0超級(jí)用戶。UID 為 0 就代表這個(gè)賬號(hào)是管理員賬號(hào)。在 Linux 中,如何把普通用戶升級(jí)成管理員呢?只需把其他用戶的 UID 修改為 0 就可以了,這一點(diǎn)和 Windows 是不同的。不過不建議建立多個(gè)管理員賬號(hào)。
1~499系統(tǒng)用戶(偽用戶)。也就是說,此范圍的 UID 保留給系統(tǒng)使用。其中,1~99 用于系統(tǒng)自行創(chuàng)建的賬號(hào);100~499 分配給有系統(tǒng)賬號(hào)需求的用戶。其實(shí),除了 0 之外,其他的 UID 并無不同,這里只是默認(rèn) 500 以下的數(shù)字給系統(tǒng)作為保留賬戶,只是一個(gè)公認(rèn)的習(xí)慣而已。
500~65535普通用戶。通常這些 UID 已經(jīng)足夠用戶使用了。但不夠用也沒關(guān)系,2.6.x 內(nèi)核之后的 Linux 系統(tǒng)已經(jīng)可以支持 232 個(gè) UID 了。

GID

全稱“Group ID”,簡(jiǎn)稱“組ID”,表示用戶初始組的組 ID 號(hào)。這里需要解釋一下初始組和附加組的概念。 

初始組:指用戶登陸時(shí)就擁有這個(gè)用戶組的相關(guān)權(quán)限。每個(gè)用戶的初始組只能有一個(gè),通常就是將和此用戶的用戶名相同的組名作為該用戶的初始組。比如說,我們手工添加用戶 lamp,在建立用戶 lamp 的同時(shí),就會(huì)建立 lamp 組作為 lamp 用戶的初始組。

附加組:指用戶可以加入多個(gè)其他的用戶組,并擁有這些組的權(quán)限。每個(gè)用戶只能有一個(gè)初始組,除初始組外,用戶再加入其他的用戶組,這些用戶組就是這個(gè)用戶的附加組。附加組可以有多個(gè),而且用戶可以有這些附加組的權(quán)限。

舉例來說,剛剛的 lamp 用戶除屬于初始組 lamp 外,我又把它加入了 users 組,那么 lamp 用戶同時(shí)屬于 lamp 組和 users 組,其中 lamp 是初始組,users 是附加組。 

當(dāng)然,初始組和附加組的身份是可以修改的,但是我們?cè)诠ぷ髦胁恍薷某跏冀M,只修改附加組,因?yàn)樾薷牧顺跏冀M有時(shí)會(huì)讓管理員邏輯混亂。 

需要注意的是,在 /etc/passwd 文件的第四個(gè)字段中看到的 ID 是這個(gè)用戶的初始組。

描述性信息

這個(gè)字段并沒有什么重要的用途,只是用來解釋這個(gè)用戶的意義而已。

主目錄

也就是用戶登錄后有操作權(quán)限的訪問目錄,通常稱為用戶的主目錄。 

例如,root 超級(jí)管理員賬戶的主目錄為 /root,普通用戶的主目錄為 /home/yourIDname,即在 /home/ 目錄下建立和用戶名相同的目錄作為主目錄,如 lamp 用戶的主目錄就是 /home/lamp/ 目錄。

默認(rèn)的Shell

Shell 就是 Linux 的命令解釋器,是用戶和 Linux 內(nèi)核之間溝通的橋梁。 

我們知道,用戶登陸 Linux 系統(tǒng)后,通過使用 Linux 命令完成操作任務(wù),但系統(tǒng)只認(rèn)識(shí)類似 0101 的機(jī)器語言,這里就需要使用命令解釋器。也就是說,Shell 命令解釋器的功能就是將用戶輸入的命令轉(zhuǎn)換成系統(tǒng)可以識(shí)別的機(jī)器語言。 

通常情況下,Linux 系統(tǒng)默認(rèn)使用的命令解釋器是 bash(/bin/bash),當(dāng)然還有其他命令解釋器,例如 sh、csh 等。 

在 /etc/passwd 文件中,大家可以把這個(gè)字段理解為用戶登錄之后所擁有的權(quán)限。如果這里使用的是 bash 命令解釋器,就代表這個(gè)用戶擁有權(quán)限范圍內(nèi)的所有權(quán)限。例如:

[root@localhost ~]# vi /etc/passwd
lamp:x:502:502::/home/lamp:/bin/bash

我手工添加了 lamp 用戶,它使用的是 bash 命令解釋器,那么這個(gè)用戶就可以使用普通用戶的所有權(quán)限。 

如果我把 lamp 用戶的 Shell 命令解釋器修改為 /sbin/nologin,那么,這個(gè)用戶就不能登錄了,例如:

[root@localhost ~]# vi /etc/passwd
lamp:x:502:502::/home/lamp:/sbin/nologin

因?yàn)?/sbin/nologin 就是禁止登錄的 Shell。同樣,如果我在這里放入的系統(tǒng)命令,如 /usr/bin/passwd,例如:

[root@localhost ~]#vi /etc/passwd
lamp:x:502:502::/home/lamp:/usr/bin/passwd

那么這個(gè)用戶可以登錄,但登錄之后就只能修改自己的密碼。但是,這里不能隨便寫入和登陸沒有關(guān)系的命令(如 ls),系統(tǒng)不會(huì)識(shí)別這些命令,同時(shí)也就意味著這個(gè)用戶不能登錄。

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論