類別:系統及安全性
| 發布於 2025-06-24 20:11
Linux 帳號與群組管理
群組管理
群組可以將多個帳號分類,設定資源權限時,比起針對單一帳號更有效率。
/etc/group
/etc/group 用來記錄群組與帳號的關係,共有 4 個欄位,以 : 區隔:
| 欄位位置 |
欄位名稱 |
說明 |
| 1 |
group_name |
群組名稱 |
| 2 |
password |
群組密碼(現已不使用,通常為空或 x) |
| 3 |
GID |
群組 ID(Group ID) |
| 4 |
user_list |
成員帳號清單,使用 , 分隔 |
第 3 欄 GID 可對照 /etc/passwd 第 4 欄,了解使用者的主要群組。
不建議直接編輯 /etc/group,請使用以下指令:
新增群組
將帳號加入/移除群組
刪除群組
帳號設定
Linux 的帳號資訊主要儲存在 /etc/passwd 與
/etc/shadow,系統區分帳號大小寫(不同於 Email)。
/etc/login.defs
UID 為 0 代表 root,擁有最高權限。
系統與服務建立帳號時會使用特定範圍的 UID(通常 <1000),手動建立帳號建議 UID 從 1000 開始。這些起始值定義於
/etc/login.defs 中。
/etc/default/useradd
定義 useradd 建立帳號時的預設行為。
/etc/passwd
用來記錄帳號資訊,使用 : 分隔為 7 欄:
| 欄位 |
說明 |
| 帳號 |
登入帳號(不可重複) |
| 密碼 |
通常為 x,代表密碼儲存在 /etc/shadow |
| UID |
使用者 ID(唯一) |
| GID |
主要群組 ID |
| 註解 |
顯示名稱,可空白 |
| 家目錄 |
預設為 /home/帳號 |
| shell |
登入後預設 shell,預設為 /bin/bash |
建議不要直接編輯此檔案,應使用指令操作。
/etc/shadow
儲存與密碼相關資訊,使用 : 分隔為 9 欄:
| 欄位 |
說明 |
| 登入名稱 |
帳號名稱,與 /etc/passwd 第 1 欄對應 |
| 加密密碼 |
使用 SHA-512 加密密碼 |
| 上次密碼變更日期 |
自 1970-01-01 起的天數 |
| 密碼最短使用期限 |
密碼修改後多少天內不可再次變更 |
| 密碼最長使用期限 |
密碼最多可使用天數 |
| 密碼過期警告期限 |
到期前幾天發出警告 |
| 密碼暫停使用期限 |
密碼過期後,幾天後鎖定帳號 |
| 帳號失效日期 |
帳號失效日,自 1970-01-01 起的天數 |
| 保留欄位 |
保留使用 |
帳號資訊查詢
使用 id 查詢帳號基本資訊:
輸出會包含 UID、主要群組 GID、與所屬的所有群組(次要群組)。
新增帳號
常用選項:
| 參數 |
說明 |
| -c 備註 |
備註資訊 |
| -d 家目錄 |
指定家目錄路徑 |
| -e YYYY-MM-DD |
帳號有效期限 |
| -f 天數 |
密碼過期後多少天停用帳號 |
| -g 群組 |
主要群組 |
| -G 群組1,群組2 |
次要群組 |
| -m |
建立家目錄並複製 /etc/skel/ |
| -p 密碼 |
指定密碼(明碼加密後) |
| -s shell |
指定登入 shell |
| -u UID |
指定 UID |
| -o |
允許建立重複 UID(不建議) |
修改帳號
用途如修改 UID、GID、shell、群組等。
刪除帳號
加上 -r 可一併刪除家目錄。
設定密碼
注意:
- 一般使用者只能改自己的密碼
- root 可改自己與他人密碼
- 一般使用者須符合密碼原則
- root 不受密碼原則限制
密碼有效期限設定
檔案與目錄權限管理
常用指令
| 指令 |
用途 |
ls -l |
查看權限 |
chown |
變更檔案擁有者 |
chgrp |
變更檔案群組 |
chmod |
修改權限(數字表示法為八進位) |
檔案進階屬性(僅適用 ext 系列檔案系統)
可透過 chattr 設定、lsattr 查詢。
chattr 指令
支援的模式:
| 模式 |
說明 |
| + / - / = |
增加 / 移除 / 指定 |
| a |
只能附加寫入 |
| A |
不更新存取時間 |
| c |
自動壓縮存取資料 |
| d |
dump 時排除備份 |
| i |
鎖定檔案不可更動 |
| s |
刪除後完整清除 |
| S |
立即寫入硬碟 |
| u |
自動備份檔案 |
其他參數:
| 參數 |
說明 |
| -R |
遞迴處理 |
| -V |
顯示過程 |
| -v |
設定檔案版本 |
lsattr 指令
常用參數:
| 參數 |
說明 |
| -a |
顯示隱藏檔 |
| -d |
僅顯示目錄本身 |
| -R |
遞迴列出屬性 |
| -v |
顯示檔案版本 |
| -V |
顯示版本資訊 |
Linux 帳號與群組管理
群組管理
群組可以將多個帳號分類,設定資源權限時,比起針對單一帳號更有效率。
/etc/group/etc/group用來記錄群組與帳號的關係,共有 4 個欄位,以:區隔:x),分隔第 3 欄 GID 可對照
/etc/passwd第 4 欄,了解使用者的主要群組。不建議直接編輯
/etc/group,請使用以下指令:新增群組
將帳號加入/移除群組
# 加入 gpasswd -a userAccount groupName # 移除 gpasswd -d userAccount groupName刪除群組
帳號設定
Linux 的帳號資訊主要儲存在
/etc/passwd與/etc/shadow,系統區分帳號大小寫(不同於 Email)。/etc/login.defsUID 為 0 代表 root,擁有最高權限。
系統與服務建立帳號時會使用特定範圍的 UID(通常 <1000),手動建立帳號建議 UID 從 1000 開始。這些起始值定義於
/etc/login.defs中。/etc/default/useradd定義
useradd建立帳號時的預設行為。/etc/passwd用來記錄帳號資訊,使用
:分隔為 7 欄:x,代表密碼儲存在/etc/shadow/home/帳號/bin/bash建議不要直接編輯此檔案,應使用指令操作。
/etc/shadow儲存與密碼相關資訊,使用
:分隔為 9 欄:/etc/passwd第 1 欄對應帳號資訊查詢
使用
id查詢帳號基本資訊:id userAccount輸出會包含 UID、主要群組 GID、與所屬的所有群組(次要群組)。
新增帳號
常用選項:
/etc/skel/修改帳號
用途如修改 UID、GID、shell、群組等。
刪除帳號
加上
-r可一併刪除家目錄。設定密碼
注意:
密碼有效期限設定
# 查詢密碼政策 chage -l userAccount # 設定密碼有效期為 90 天 chage -M 90 userAccount # 密碼設定後,2 天內不得再改 chage -m 2 userAccount檔案與目錄權限管理
常用指令
ls -lchownchgrpchmod檔案進階屬性(僅適用 ext 系列檔案系統)
可透過
chattr設定、lsattr查詢。chattr 指令
支援的模式:
其他參數:
lsattr 指令
常用參數: