最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Linux?/etc/passwd詳解

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

Linux /etc/passwd

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

首先我們來打開這個文件,看看到底包含哪些內(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ī)律,每行記錄對應一個用戶。 

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

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

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

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

用戶名

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

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

密碼

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

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

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

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

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

UID

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

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

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

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

GID

全稱“Group ID”,簡稱“組ID”,表示用戶初始組的組 ID 號。這里需要解釋一下初始組和附加組的概念。 

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

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

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

當然,初始組和附加組的身份是可以修改的,但是我們在工作中不修改初始組,只修改附加組,因為修改了初始組有時會讓管理員邏輯混亂。 

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

描述性信息

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

主目錄

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

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

默認的Shell

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

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

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

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

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

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

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

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

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

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

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

總結(jié)

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

相關(guān)文章

  • Linux查看命令之od命令詳解

    Linux查看命令之od命令詳解

    Linux查看命令之od命令的作用主要是以指定格式查看文件內(nèi)容。下面的本文先給大家簡單介紹了od命令的參數(shù),然后通過示例詳細給加演示了od命令的使用,有需要的朋友們可以參考借鑒,下面來一起看看吧。
    2016-12-12
  • Linux下Apache服務的部署和配置

    Linux下Apache服務的部署和配置

    這篇文章介紹了Linux下Apache服務的部署和配置,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-12-12
  • 如何確保Apache?Flink流處理的數(shù)據(jù)一致性和可靠性

    如何確保Apache?Flink流處理的數(shù)據(jù)一致性和可靠性

    Apache?Flink通過其先進的狀態(tài)管理、檢查點機制、時間語義和容錯策略,確保了在流處理中的高數(shù)據(jù)一致性和可靠性,本文詳細介紹了Flink中保證數(shù)據(jù)一致性和可靠性的機制,感興趣的朋友一起看看吧
    2024-08-08
  • Centos6安裝中文字體的方法

    Centos6安裝中文字體的方法

    這篇文章主要介紹了Centos6安裝中文字體的方法,本文給大家介紹的非常詳細具有參考借鑒價值,需要的朋友可以參考下
    2016-10-10
  • Vagrant基本命令使用詳解

    Vagrant基本命令使用詳解

    本篇文章主要介紹了Vagrant基本命令詳解,現(xiàn)在分享給大家,也給大家做個參考。感興趣的小伙伴們可以參考一下。
    2016-11-11
  • 詳解CentOS7下安裝Mysql和配置mysql

    詳解CentOS7下安裝Mysql和配置mysql

    本篇文章主要介紹了詳解CentOS7下安裝Mysql和配置mysql,具有一定的參考價值,有興趣的可以了解一下。
    2016-12-12
  • Centos中root密碼重置的實現(xiàn)及步驟詳解

    Centos中root密碼重置的實現(xiàn)及步驟詳解

    這篇文章主要介紹了Centos中root密碼重置的實現(xiàn)及步驟詳解的相關(guān)資料,需要的朋友可以參考下
    2017-07-07
  • Linux內(nèi)核如何輸出中文字符的方法示例

    Linux內(nèi)核如何輸出中文字符的方法示例

    這篇文章主要介紹了Linux內(nèi)核如何輸出中文字符的方法示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-09-09
  • Linux系統(tǒng)下如何創(chuàng)建普通用戶并更改用戶組

    Linux系統(tǒng)下如何創(chuàng)建普通用戶并更改用戶組

    這篇文章主要介紹了Linux系統(tǒng)下如何創(chuàng)建普通用戶并更改用戶組問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • centos7系統(tǒng)nginx服務器下phalcon環(huán)境搭建方法詳解

    centos7系統(tǒng)nginx服務器下phalcon環(huán)境搭建方法詳解

    這篇文章主要介紹了centos7系統(tǒng)nginx服務器下phalcon環(huán)境搭建方法,結(jié)合具體實例形式詳細分析了centos7的nginx服務器搭建phalcon的具體操作步驟與相關(guān)設(shè)置技巧,需要的朋友可以參考下
    2019-09-09

最新評論

博湖县| 衡山县| 鲁山县| 金寨县| 清河县| 太湖县| 桐梓县| 柘城县| 甘洛县| 保亭| 社会| 嘉善县| 巨野县| 丰顺县| 灵川县| 丹江口市| 金堂县| 建水县| 德令哈市| 和静县| 北海市| 武城县| 修武县| 分宜县| 兰西县| 汽车| 衡东县| 和林格尔县| 洮南市| 昌宁县| 偃师市| 北宁市| 三穗县| 瓦房店市| 延川县| 乐平市| 哈密市| 祁门县| 富顺县| 班玛县| 元朗区|