1. 程式人生 > >第十三章 Linux 賬號管理與 ACL 許可權設定

第十三章 Linux 賬號管理與 ACL 許可權設定

Linux 的賬號與群組

Linux 是如何辨別每一個使用者的呢?

使用者識別碼 UID 和 GID

每一個檔案都具有【擁有人與擁有群組】的屬性,每個登入的使用者都至少會擁有兩個 ID ,一個是使用者 ID (User ID) 和一個群組 ID (Group ID)。

使用者賬號

當你輸入了賬號和密碼後,系統幫你做了什麼呢?

  1. 先尋找 /etc/passwd 裡面是否有你輸入的賬號,如果有的化,直接將該賬號對應的 UID 與 GID 讀出來,另外,該賬號的家目錄與 shell 設定也一併讀出來
  2. 接下來則是核對密碼錶,這是 Linux 會進入 /etc/shadow 裡找出對應的賬號與 UID,然後核對密碼

/etc/passwd 檔案結構

這個檔案的結構是這樣的:每一行代表一個賬號,有幾行就代表幾個賬號在你的系統中。需要留意的是,裡邊有很多賬號本來就是系統正常執行所必須的,我們稱它為系統賬號,例如,bin、daemon、adm、nobody等。
這個檔案的內容像這樣:
在這裡插入圖片描述

  1. 賬號名稱:就是賬號啦!需要用來對應 UID。例如 root 對應的 UID 就是 0。
  2. 密碼:早期 Unix 系統上的密碼就是放在這欄上的,但是因為這個檔案的特性是所有的程式都能夠讀取,所以安全性較低,因此後來就將這欄中的密碼放到了 /etc/shadow 中了。所以這裡你只會看到一個【x】。
  3. UID:這個就是使用者識別碼了!UID 的幾個限制
id 範圍 該 id 使用者特性
0(系統管理員) UID 是0代表這個賬號是【系統管理員】!如果想讓其他賬號也具有 root 許可權時,將該賬號的 UID 該為 0 即可。
1 ~ 999 系統賬號 保留給系統使用的 ID 。由於系統上面啟動的網路服務或背景服務希望使用較小的許可權區運作,因此,不希望使用root 許可權去執行這些服務,所以我們就得要提供這些運作中程式的擁有賬號才行
1000 ~ 60000(可登入賬號) 給一般使用者使用
  1. GID:這個與 /etc/group 有關!其實 /etc/group 的觀念與 /etc/passwd 差不多,只是他用來規範群組名稱與 GID 的對應關心而已!
  2. 使用者資訊說明欄:解釋這個賬號的意義
  3. 家目錄:就是使用者的家目錄!一上面為例,root 的家目錄為 /root,所以 root 登入以後,就會立刻跑到 /root 中
  4. shell:當使用者登入系統後會去的一個 Shell 與系統核心進行溝通以進行使用者的操作任務。為何預設的shell 會使用 bash 呢,就是在這個欄目指定的!

/etc/shadow 檔案結構

在這裡插入圖片描述

  1. 賬號名稱
  2. 密碼:這個欄目的資料才是真正的密碼,而且是經過加密的密碼!
  3. 最近更動密碼的日期
  4. 密碼不可被更動的天數
  5. 密碼需要重新變更的天數
  6. 密碼需要變更期限前的警告天數
  7. 密碼過期後的帳號寬限時間(密碼失效日)
  8. 帳號失效日期
  9. 保留