Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> Linux 教學

Linux 使用者與群組管理完整指南:指令操作、設定檔解析與實務技巧

編輯:Linux 教學

一、使用者帳號管理

1. 新增使用者 useradd

# 基本新增(預設建立家目錄 /home/user1,Shell /bin/bash)
useradd user1

# 指定家目錄
useradd -d /home/xf user1

# 禁止登入(設定 Shell 為 /bin/false 或 /sbin/nologin)
useradd -s /bin/false user1

# 指定主要群組(需先存在)
useradd -g users user1

# 指定附屬群組(可多個,逗號分隔)
useradd -G wheel,docker user1

# 組合範例:指定 UID、家目錄、Shell、群組、備註
useradd -u 2000 -d /home/project -s /bin/bash -g developers -G docker,sudo -c "Project User" projuser

新增後必須設定密碼才能登入:

passwd user1

2. 刪除使用者 userdel

userdel user1          # 僅刪除帳號,保留家目錄
userdel -r user1       # 連同家目錄與郵件佇列一併刪除

3. 修改使用者屬性 usermod

usermod -d /newhome -m user1      # 修改家目錄並移動檔案
usermod -s /bin/zsh user1         # 變更 Shell
usermod -g newgroup user1         # 變更主要群組
usermod -G group1,group2 user1    # 變更附屬群組(覆蓋原有)
usermod -aG docker user1          # 追加附屬群組(保留原有)
usermod -l newname user1          # 修改登入名稱
usermod -L user1                  # 鎖定帳號(密碼前加 !)
usermod -U user1                  # 解鎖帳號

4. 直接編輯 /etc/passwd(不建議新手)

格式:username:password:uid:gid:comment:home:shell
密碼欄通常為 x(影子密碼),實際雜湊在 /etc/shadow。

二、群組管理

1. 新增群組 groupadd

groupadd developers
groupadd -g 2000 projectteam  # 指定 GID

2. 刪除群組 groupdel

groupdel developers

3. 修改群組成員

編輯 /etc/group,格式:groupname:password:gid:user1,user2,user3

# 將 newuser 加入 softdevelop 群組
# 找到該行:softdevelop:x:506:user1,user2
# 改為:softdevelop:x:506:user1,user2,newuser

或使用指令:

gpasswd -a newuser softdevelop   # 加入
gpasswd -d newuser softdevelop   # 移除

三、圖形化管理工具

  • Red Hat/CentOS/Fedora:system-config-users(需安裝)
  • 通用:users-admin(GNOME 系統工具)
  • Web 介面:Webmin、Cockpit

四、核心設定檔詳細解析

/etc/passwd

每行 7 欄位:[用戶名]:[密碼]:[UID]:[GID]:[身份描述]:[主目錄]:[登錄 Shell]

UID/GID 安全注意事項:

  • UID 0 擁有 root 完整權限,系統依 UID 而非帳號名稱判斷權限。若存在多個 UID 0 帳號(如 imnotroot:x:0:0::/root:/bin/bash),均具 root 權限,極度危險。
  • UID/GID < 500(或 1000,視發行版)通常保留給系統號,一般使用者應從 1000 起跳。

/etc/group

每行 4 欄位:[群組名]:[密碼欄]:[GID]:[成員列表]

  • 密碼欄通常為 x 或空白,群組密碼極少使用。
  • 成員列表以逗號分隔,為附屬群組成員(主要群組由 /etc/passwd 的 GID 決定)。

五、實務建議

  1. 建立服務帳號時指定 -r 參數(系統帳號),不建立家目錄、UID 自動分配較小值。
  2. 使用 id username 快速查看 UID、GID、群組隸屬。
  3. 定期稽核 /etc/passwd、/etc/shadow、/etc/group 異常帳號(UID 0、空密碼、長期未登入)。
  4. 善用 sudo 權限委派,避免共用 root 密碼。
Copyright © Windows教程網 All Rights Reserved