linux的使用者組態檔是什麼

2023-02-15 06:00:50

linux使用者組態檔有四個:1、「/etc/passwd」,系統使用者花名冊,儲存了系統中所有使用者的基本資訊,並且所有使用者都可以對此檔案執行讀操作;2、「/etc/shadow」,用於儲存系統中使用者的密碼資訊;3、「/etc/group」,用於儲存系統中使用者組的所有資訊;4、「/etc/gshadow」,用於儲存組使用者的密碼資訊。

本教學操作環境:linux7.3系統、Dell G3電腦。

Linux 使用者組態檔

下面將討論 Linux 使用者管理中涉及的四個組態檔。

這四個檔案是使用者管理的核心,系統中使用者和使用者組的任何操作,最終的落腳點就是這四個檔案。這四個檔案可以分為兩組,第一組檔案中存放著使用者相關設定資料,第二組檔案中存放著使用者組相關設定資料。

  • 使用者相關設定資料
    • /etc/passwd:系統使用者花名冊,儲存了系統中所有使用者的基本資訊,並且所有使用者都可以對此檔案執行讀操作。
    • /etc/shadow:系統使用者影子檔案,用於儲存 Linux 系統中使用者的密碼資訊,又稱為「影子檔案」。
  • 使用者組相關設定資料
    • /etc/group:系統使用者組花名冊,是使用者組組態檔,即使用者組的所有資訊都存放在此檔案中。
    • /etc/gshadow:系統使用者組影子檔案,用於儲存組使用者的密碼資訊

用法

/etc/passwd 裡面有很多行,每行儲存了一個使用者的資訊。每行有七個欄位,每個欄位用冒號分隔:

  • 第一欄位:使用者名稱
  • 第二欄位:密碼(用 x 來代替,真的密碼是放在 /etc/shadow 檔案中)
  • 第三欄位:使用者 UID
  • 第四欄位:使用者的主使用者組 GID
  • 第五欄位:使用者描述(如果不設定就是空)
  • 第六欄位:使用者家目錄所在位置
  • 第七欄位:使用者使用的 Shell 型別

/etc/shadow 是 /etc/passwd 的影子檔案。一般來說,shadow 檔案內容的行數與 passwd 檔案內容行數應該是相同的。shadow 檔案每行也儲存著使用者的資訊,和 passwd 檔案互為補充。兩個檔案合在一起就可以完整的描述系統中的每個使用者。shadow 檔案每行有九個欄位:

  • 第一欄位:使用者名稱
  • 第二欄位:被加密的使用者密碼(如果該欄位是星號或感嘆號,表示該使用者不能作為普通使用者正常登入系統)
  • 第三欄位:密碼最後一次修改(從 1970/1/1 日起到密碼最後一次被修改的天數)
  • 第四欄位:密碼修改最小時間間隔(兩次修改使用者密碼之間所需的最小天數,預設是 0,表示可以隨時修改使用者密碼)
  • 第五欄位:密碼修改最大時間間隔(使用者密碼保持有效的最大天數,預設是 99999,大概 273 年來,也就是不強制定期更好的意思)
  • 第六欄位:密碼失效警告時間(從系統開始警告使用者到使用者密碼正式失效之間的天數,預設是 7,表示不啟用該功能)
  • 第七欄位:使用者口令作廢多少天后,系統會禁用此使用者,禁用後系統將不允許此使用者登入,也不會提示使用者過期(預設為空,表示不啟用該功能)
  • 第八欄位:使用者失效時間(相當於規定了使用者的生存期,單位為天,相對的起始時間也是 1970/1/1。期滿後該使用者就無法登入了,預設為空,表示此使用者永久可用)
  • 第九欄位:保留欄位。目前為空。

/etc/group 裡面有很多行,每行儲存了一個使用者組的資訊。每行有四個欄位,每個欄位用冒號分隔:

  • 第一欄位:使用者組名
  • 第二欄位:使用者組密碼(使用者組密碼很少用到,只有在大型伺服器上針對很多使用者和組指定一些關係結構比較複雜的許可權模型時,設定使用者組密碼才有必要。預設用 x 替代,真的密碼放在 /etc/gshadow 檔案中)
  • 第三欄位:使用者組 GID
  • 第四欄位:從屬該使用者組的使用者列表,如果多個使用者,使用逗號分隔。如果該欄位為空,並不一定表示該使用者組沒有使用者,因為如果該使用者組是某個使用者的主使用者組,這個使用者是不會顯示在列表中的。

/etc/gshadow 是 /etc/group 的影子檔案。一般來說,gshadow 檔案內容的行數與 group 檔案內容行數應該是相同的。gshadow 檔案每行也儲存著使用者組的資訊,和 group 檔案互為補充。兩個檔案合在一起就可以完整的描述系統中的每個使用者組。gshadow 檔案每行有四個欄位:

  • 第一欄位:使用者組名
  • 第二欄位:使用者組加密後的密碼(空或感嘆號表示沒有密碼)
  • 第三欄位:組管理者(可以為空,如果有多個使用者組管理者需要用逗號分隔)
  • 第四欄位:從屬該使用者組的使用者列表

當我們使用 useradd 命令新增使用者,並使用 passwd 命令為剛新增的使用者設定密碼時,就會自動將使用者資訊寫入 /etc/passwd 和 /etc/shadow 檔案中。同理,使用 groupadd 命令新增使用者組時,也會自動將資訊寫入 /etc/group 和 /etc/gshadow。理論上,我們可以通過修改這些組態檔的內容來修改使用者或使用者組的任意屬性,但卻不推薦這麼做。因為手動修改組態檔很容易造成系統使用者或使用者組管理混亂。

為什麼要將使用者資訊分開存到兩個檔案中呢?出於系統需求,passwd 檔案對於所有使用者都是可讀的,因為使用者需要保護的資訊如密碼就不能放在 passwd 中了,這部分資訊就放在了 shadow 檔案中。shadow 檔案只有根使用者才能檢視和修改,相對更加安全。使用者組資訊分開存放的原因和使用者資訊分開存放的原因完全相同。

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
登入後複製

相關推薦:《Linux視訊教學

以上就是linux的使用者組態檔是什麼的詳細內容,更多請關注TW511.COM其它相關文章!