Linux 帳號、群組與相關檔案

Linux 帳號、群組與相關檔案

帳號與群組

雖然我們登入 Linux 主機的時候,輸入的是我們的帳號,但是其實 Linux 主機並不會直接認識你的『帳號名稱』的,他僅認識 ID 啊 (ID 就是一組號碼),而你的 ID 與帳號的對應就在 /etc/passwd 當中哩。

每個登入的使用者至少都會取得兩個 ID ,一個是使用者 ID (User ID ,簡稱 UID)、一個是群組 ID (Group ID ,簡稱 GID)。

那麼你輸入帳號密碼後,系統幫你處理了什麼呢?

  • 先找尋 /etc/passwd 裡面是否有你輸入的帳號?如果沒有則跳出,如果有的話則將該帳號對應的 UID 與 GID (在 /etc/group 中) 讀出來,另外,該帳號的家目錄與 shell 設定也一併讀出。
  • 再來則是核對密碼表啦!這時 Linux 會進入 /etc/shadow 裡面找出對應的帳號與 UID,然後核對一下你剛剛輸入的密碼與裡頭的密碼是否相符?
  • 如果一切都 OK 的話,就進入 Shell 控管的階段囉!

帳號與群組-相關檔案

/etc/passwd : 帳號檔案

檔案儲存了所有 Linux 帳號的登入資訊,例如 User ID, Group ID, 家目錄, shell 等。每一個帳號一行 資料,每個欄位以冒號 “:” 分隔。一般帳號對 passwd 有可讀權限,而只有 root 有可寫入的權限。

查詢帳號

  • #cat /etc/passwd     //列出所有帳號
  • #tail -3 /etc/passwd       //列出後3個帳號
  • #grep temp /etc/passwd      //搜尋出temp帳號

檢驗帳號是否存在

  • #cat /etc/passwd |grep userName      //檢驗帳號userName是否存在,若不存在,出現#,若存在會出現帳號資料

/etc/shadow : 儲存真實密碼的地方 

系統帳號已加密的密碼並不會儲存在 /etc/passwd, 而是儲存在 /etc/shadow, 在 /etc/passwd 的密碼欄位只會儲存 (*) 代替。這是由於 /etc/passwd 的權限是 rw-r–r (644), 普通帳號也可以讀取加密了的密碼。而 /etc/shadow 則是 -w—– (400) 權限, 只有 root 可以讀寫。

  • $cat /etc/shadow     //在正常的狀況下,/etc/shadow 這個檔案應該是只有 root 可以讀取。

/etc/group : 定義了群組名稱

定義了群組名稱、GID、以及用戶的對應。Linux 系統中,每一個用戶都一定隸屬於至少一個群組,而每一個群組都有一個群組標識符(gid)

/etc/gshadow : 儲存真實群組密碼


參考資料

特色、摘要,Feature、Summary:

關鍵字、標籤,Keyword、Tag:

  • Ubuntu,Linux,Account-Manage,

留言

這個網誌中的熱門文章

Ubuntu 常用指令、分類與簡介

iptables的觀念與使用

網路設定必要參數IP、netmask(遮罩)、Gateway(閘道)、DNS

了解、分析登錄檔 - log

Python 與SQLite 資料庫

Blogger文章排版範本

Pandas 模組

如何撰寫Shell Script

查詢指令或設定 -Linux 線上手冊 - man

下載網頁使用 requests 模組