linux用戶配置文件有四個(gè):1、“/etc/passwd”,系統(tǒng)用戶花名冊(cè),存儲(chǔ)了系統(tǒng)中所有用戶的基本信息,并且所有用戶都可以對(duì)此文件執(zhí)行讀操作;2、“/etc/shadow”,用于存儲(chǔ)系統(tǒng)中用戶的密碼信息;3、“/etc/group”,用于存儲(chǔ)系統(tǒng)中用戶組的所有信息;4、“/etc/gshadow”,用于存儲(chǔ)組用戶的密碼信息。
本教程操作環(huán)境:linux7.3系統(tǒng)、Dell G3電腦。
Linux 用戶配置文件
下面將討論 Linux 用戶管理中涉及的四個(gè)配置文件。
這四個(gè)文件是用戶管理的核心,系統(tǒng)中用戶和用戶組的任何操作,最終的落腳點(diǎn)就是這四個(gè)文件。這四個(gè)文件可以分為兩組,第一組文件中存放著用戶相關(guān)配置數(shù)據(jù),第二組文件中存放著用戶組相關(guān)配置數(shù)據(jù)。
- 用戶相關(guān)配置數(shù)據(jù)
-
/etc/passwd
:系統(tǒng)用戶花名冊(cè),存儲(chǔ)了系統(tǒng)中所有用戶的基本信息,并且所有用戶都可以對(duì)此文件執(zhí)行讀操作。
-
/etc/shadow
:系統(tǒng)用戶影子文件,用于存儲(chǔ) Linux 系統(tǒng)中用戶的密碼信息,又稱為“影子文件”。
- 用戶組相關(guān)配置數(shù)據(jù)
-
/etc/group
:系統(tǒng)用戶組花名冊(cè),是用戶組配置文件,即用戶組的所有信息都存放在此文件中。
-
/etc/gshadow
:系統(tǒng)用戶組影子文件,用于存儲(chǔ)組用戶的密碼信息
用法
/etc/passwd
里面有很多行,每行存儲(chǔ)了一個(gè)用戶的信息。每行有七個(gè)字段,每個(gè)字段用冒號(hào)分隔:
第一字段
:用戶名第二字段
:密碼(用 x 來(lái)代替,真的密碼是放在 /etc/shadow 文件中)第三字段
:用戶 UID第四字段
:用戶的主用戶組 GID第五字段
:用戶描述(如果不設(shè)置就是空)第六字段
:用戶家目錄所在位置第七字段
:用戶使用的 Shell 類(lèi)型
/etc/shadow
是 /etc/passwd 的影子文件。一般來(lái)說(shuō),shadow 文件內(nèi)容的行數(shù)與 passwd 文件內(nèi)容行數(shù)應(yīng)該是相同的。shadow 文件每行也存儲(chǔ)著用戶的信息,和 passwd 文件互為補(bǔ)充。兩個(gè)文件合在一起就可以完整的描述系統(tǒng)中的每個(gè)用戶。shadow 文件每行有九個(gè)字段:
第一字段
:用戶名第二字段
:被加密的用戶密碼(如果該字段是星號(hào)或感嘆號(hào),表示該用戶不能作為普通用戶正常登錄系統(tǒng))第三字段
:密碼最后一次修改(從 1970/1/1 日起到密碼最后一次被修改的天數(shù))第四字段
:密碼修改最小時(shí)間間隔(兩次修改用戶密碼之間所需的最小天數(shù),默認(rèn)是 0,表示可以隨時(shí)修改用戶密碼)第五字段
:密碼修改最大時(shí)間間隔(用戶密碼保持有效的最大天數(shù),默認(rèn)是 99999,大概 273 年來(lái),也就是不強(qiáng)制定期更好的意思)第六字段
:密碼失效警告時(shí)間(從系統(tǒng)開(kāi)始警告用戶到用戶密碼正式失效之間的天數(shù),默認(rèn)是 7,表示不啟用該功能)第七字段
:用戶口令作廢多少天后,系統(tǒng)會(huì)禁用此用戶,禁用后系統(tǒng)將不允許此用戶登錄,也不會(huì)提示用戶過(guò)期(默認(rèn)為空,表示不啟用該功能)第八字段
:用戶失效時(shí)間(相當(dāng)于規(guī)定了用戶的生存期,單位為天,相對(duì)的起始時(shí)間也是 1970/1/1。期滿后該用戶就無(wú)法登錄了,默認(rèn)為空,表示此用戶永久可用)第九字段
:保留字段。目前為空。
/etc/group
里面有很多行,每行存儲(chǔ)了一個(gè)用戶組的信息。每行有四個(gè)字段,每個(gè)字段用冒號(hào)分隔:
第一字段
:用戶組名第二字段
:用戶組密碼(用戶組密碼很少用到,只有在大型服務(wù)器上針對(duì)很多用戶和組指定一些關(guān)系結(jié)構(gòu)比較復(fù)雜的權(quán)限模型時(shí),設(shè)置用戶組密碼才有必要。默認(rèn)用 x 替代,真的密碼放在 /etc/gshadow 文件中)第三字段
:用戶組 GID第四字段
:從屬該用戶組的用戶列表,如果多個(gè)用戶,使用逗號(hào)分隔。如果該字段為空,并不一定表示該用戶組沒(méi)有用戶,因?yàn)槿绻撚脩艚M是某個(gè)用戶的主用戶組,這個(gè)用戶是不會(huì)顯示在列表中的。
/etc/gshadow
是 /etc/group 的影子文件。一般來(lái)說(shuō),gshadow 文件內(nèi)容的行數(shù)與 group 文件內(nèi)容行數(shù)應(yīng)該是相同的。gshadow 文件每行也存儲(chǔ)著用戶組的信息,和 group 文件互為補(bǔ)充。兩個(gè)文件合在一起就可以完整的描述系統(tǒng)中的每個(gè)用戶組。gshadow 文件每行有四個(gè)字段:
第一字段
:用戶組名第二字段
:用戶組加密后的密碼(空或感嘆號(hào)表示沒(méi)有密碼)第三字段
:組管理者(可以為空,如果有多個(gè)用戶組管理者需要用逗號(hào)分隔)第四字段
:從屬該用戶組的用戶列表
當(dāng)我們使用 useradd 命令添加用戶,并使用 passwd 命令為剛添加的用戶設(shè)置密碼時(shí),就會(huì)自動(dòng)將用戶信息寫(xiě)入 /etc/passwd 和 /etc/shadow 文件中。同理,使用 groupadd 命令添加用戶組時(shí),也會(huì)自動(dòng)將信息寫(xiě)入 /etc/group 和 /etc/gshadow。理論上,我們可以通過(guò)修改這些配置文件的內(nèi)容來(lái)修改用戶或用戶組的任意屬性,但卻不推薦這么做。因?yàn)槭謩?dòng)修改配置文件很容易造成系統(tǒng)用戶或用戶組管理混亂。
為什么要將用戶信息分開(kāi)存到兩個(gè)文件中呢?出于系統(tǒng)需求,passwd 文件對(duì)于所有用戶都是可讀的,因?yàn)橛脩粜枰Wo(hù)的信息如密碼就不能放在 passwd 中了,這部分信息就放在了 shadow 文件中。shadow 文件只有根用戶才能查看和修改,相對(duì)更加安全。用戶組信息分開(kāi)存放的原因和用戶信息分開(kāi)存放的原因完全相同。
root@centos:~# ls -l /etc/passwd -rw-r--r-- 1 root root 4500 6月 1 00:30 /etc/passwd root@centos:~# ls -l /etc/shadow -rw-r----- 1 root shadow 5251 6月 1 00:30 /etc/shadow root@centos:~# ls -l /etc/group -rw-r--r-- 1 root root 1664 6月 1 00:30 /etc/group root@centos:~# ls -l /etc/gshadow -rw-r----- 1 root shadow 1354 6月 1 00:30 /etc/gshadow