iT邦幫忙

第 11 屆 iT 邦幫忙鐵人賽

DAY 7
0
自我挑戰組

30 天不間斷-資工隨筆大雜燴系列 第 7

[Day 7] Linux 使用者識別碼

前言

我們常常在處理身份認證的時候,都是認身份證,對上面的身份證字號,而 Linux 也一樣,在識別使用者的時候,他先看的不是使用者帳號,而是看一串數字組成的 ID,而 ID 會在 /etc/passwd 裏面對應到帳號,但與現實世界不同的是 Linux 使用者會取得 User ID 還有 Group ID。

/etc/passwd 檔案結構

/etc/passwd 這個檔案所有程序都能讀取,而且裏面每一行都代表一個帳號,遵照以下格式:

帳號名稱:密碼:UID:GID:使用者資訊說明欄:家目錄:Shell

密碼

爲了防止竊取,因此把密碼資料改放到 /etc/shadow,並改成 x

UID

id range 使用者特性
0(系統管理員) Text
1~999(系統帳號) 不可登入
1000~60000(可登入帳號) for 一般使用者,UID 最大值= 2^32 -1

家目錄

預設的家目錄在 /home/使用者帳號,只要修改這個欄位,你就可以自定你的家目錄。

/etc/shadow 檔案結構

格式:

帳號名稱:密碼:上次更動密碼的日期:密碼不能更改的天數(相對第三欄):密碼需要重新變更的天數(相對第三欄):密碼需要變更期限前的警告天數:密碼過期後的帳號寬限時間:帳號失效日期:保留

日期會發現是一個數字像是 17000,這數字是從 1970 年 1 月 1 日 作爲第一天累加的數值。

密碼

經過使用 SHA 演算法進行加密,如果改變這個欄位的長度,密碼將暫時失效。

/etc/group 檔案結構

格式:

群組名稱:群組密碼:GID:此群組支援的帳號名稱

群組密碼

這個密碼 for 群組管理員,通常不太會用到

這個密碼不是使用者的密碼噢
這個密碼不是使用者的密碼噢
這個密碼不是使用者的密碼噢

在這個檔案中會顯示 x ,實際的密碼會存在 /etc/gshadow 裏面。

GID

由這個欄位的 GID 對應到 /etc/passwd 的第四個欄位的 GID

此群組支援的帳號名稱

某個帳號想要加速群組的時候,填入這個欄位。

sudo:x:27:aming

假設 aming 想要擁有 sudo 權限,先找到群組名稱 sudo,在最後一個欄位(最後一個冒號後面不要加空格,多個使用者以逗號分隔)加上使用者帳號 aming 就可以了。

關聯

下面這張圖以 root 使用者還有 root 群組爲範例,我們可以看到密碼以及 GID 在檔案之間的對應。


上一篇
[Day 6] Linux 檔案、目錄屬性權限(4)
下一篇
[Day 8] Linux 群組概念
系列文
30 天不間斷-資工隨筆大雜燴30

尚未有邦友留言

立即登入留言