Linux 用戶與組管理全解析

Linux 用戶與組管理

在這里插入圖片描述

一、用戶和組的基本概念

1. 用戶賬號類型

  • 超級用戶(root):默認擁有系統最高權限(UID=0),僅建議用于系統管理與維護,日常操作應使用普通用戶。
  • 普通用戶:由管理員創建,權限受限,通常僅在自身家目錄擁有完整權限。
  • 程序用戶(服務用戶):為系統服務(如nginxmysql)創建的專用賬號,一般不允許登錄系統。

2. 組賬號類型

  • 基本組:用戶創建時默認所屬的組,每個用戶至少屬于一個基本組。
  • 附加組:用戶額外加入的組,用于獲取該組的權限集合。

3. UID 與 GID

  • UID(用戶 ID)

    :系統識別用戶的唯一標識,范圍:

    • 0:超級用戶(root)
    • 1~999:系統預留(程序用戶)
    • 1000~60000:普通用戶
  • GID(組 ID):系統識別組的唯一標識,范圍與 UID 對應,root 組 GID=0。

二、用戶和組的核心配置文件

1. /etc/passwd(用戶基本信息)

  • 作用:存儲用戶名稱、UID、GID、家目錄、登錄 Shell 等信息,所有用戶可讀取,僅 root 可修改。
  • 格式:7 個字段用冒號分隔
    用戶名:密碼占位符(x):UID:GID:描述信息:家目錄:登錄Shell
    例:zhangsan:x:1001:1001:張三:/home/zhangsan:/bin/bash

2. /etc/shadow(用戶密碼信息)

  • 作用:存儲用戶密碼(加密形式)及密碼策略,僅 root 可讀取。

  • 格式

    :9 個字段用冒號分隔

    用戶名:加密密碼:最近改密天數:密碼不可改天數:密碼有效期:警告天數:寬限天數:賬號失效日期:保留
    
    • 加密密碼:*!!表示賬號鎖定,空值表示無需密碼登錄。
    • 日期計算:以 1970 年 1 月 1 日為起始點(如1900表示 1970 年 1 月 1 日后第 1900 天)。

3. /etc/group(組基本信息)

  • 作用:存儲組名稱、GID、組成員等信息。
  • 格式:4 個字段用冒號分隔
    組名:組密碼占位符:GID:組成員列表
    例:dev:x:1002:zhangsan,lisi

4. /etc/gshadow(組密碼信息)

  • 作用:存儲組密碼及管理員信息,僅 root 可讀取。

  • 格式

    :4 個字段用冒號分隔

    組名:組加密密碼:組管理員:組成員
    
    • 組密碼為空或!表示無密碼,組管理員可管理組成員。

三、用戶和組管理命令

1. 用戶管理

(1)創建用戶(useradd
# 創建普通用戶,指定UID、家目錄、基本組、附加組、登錄Shell
useradd -u 1005 -d /home/wangwu -g dev -G admin -s /bin/bash wangwu
  • 選項說明:
    • -u:指定 UID
    • -d:指定家目錄
    • -g:指定基本組(必須已存在)
    • -G:指定附加組(多個組用逗號分隔)
    • -s:指定登錄 Shell(/sbin/nologin表示禁止登錄)
(2)設置密碼(passwd
# 為用戶設置密碼
passwd wangwu# 鎖定/解鎖用戶
passwd -l wangwu  # 鎖定
passwd -u wangwu  # 解鎖# 清空用戶密碼(允許無密碼登錄)
passwd -d wangwu
(3)修改用戶屬性(usermod
# 修改用戶家目錄,移動原內容到新目錄
usermod -d /home/new_wangwu -m wangwu# 更改用戶基本組為admin,附加組為dev、test
usermod -g admin -G dev,test wangwu# 鎖定/解鎖用戶
usermod -L wangwu  # 鎖定
usermod -U wangwu  # 解鎖
(4)刪除用戶(userdel
# 刪除用戶(保留家目錄)
userdel wangwu# 徹底刪除用戶(含家目錄和郵件文件)
userdel -r wangwu

2. 組管理

(1)創建組(groupadd
# 創建組,指定GID
groupadd -g 1006 testgroup
(2)刪除組(groupdel
# 刪除組(組必須無成員,否則需先移除成員)
groupdel testgroup
(3)管理組成員(gpasswd
# 添加用戶到組(附加組)
gpasswd -a zhangsan testgroup# 從組中移除用戶
gpasswd -d zhangsan testgroup# 設置組管理員(允許管理員管理組成員)
gpasswd -A lisi testgroup
(4)查看用戶所屬組(groups
# 查看指定用戶所屬組
groups zhangsan  # 輸出:zhangsan : dev admin

3. 密碼策略管理(chage

# 查看用戶密碼策略
chage -l wangwu# 設置密碼有效期為90天,提前7天警告,過期后3天鎖定
chage -M 90 -W 7 -I 3 wangwu# 設置賬號2024-12-31過期
chage -E 2024-12-31 wangwu

四、權限委派(sudo

允許普通用戶臨時以 root 權限執行指定命令,配置文件為/etc/sudoers(需用visudo編輯)。

配置示例:

visudo  # 安全編輯sudoers文件# 添加以下內容:允許admin組用戶執行useradd、usermod、userdel命令
Cmnd_Alias USERMGMT = /usr/sbin/useradd, /usr/sbin/usermod, /usr/sbin/userdel
%admin  ALL=(ALL)  USERMGMT

使用方法:

# 普通用戶執行授權命令
sudo useradd tom  # 輸入自身密碼驗證后執行

總結

用戶與組管理通過/etc/passwd/etc/shadow等文件記錄核心信息,借助useraddgroupadd等命令進行創建、修改和刪除操作。合理配置用戶權限與密碼策略,結合sudo進行權限委派,可保障系統安全性與可管理性。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/917554.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/917554.shtml
英文地址,請注明出處:http://en.pswp.cn/news/917554.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

開疆智能ModbusTCP轉Profient網關連接ER機器人配置案例

本案例時西門子1200PLC通過ModbusTCP轉Profinet網關連接埃斯頓機器人的配置案例,網關作為ModbusTCP的客戶端連接機器人。配置過程:首先打開機器人通訊手冊。查詢機器人支持的功能碼及默認IP和端口號打開網關配置軟件“Gateway Configuration Studio”新建…

Docker換源加速(更換鏡像源)詳細教程(2025.3最新可用鏡像,全網最詳細)

文章目錄前言可用鏡像源匯總換源方法1-臨時換源換源方法2-永久換源(推薦)常見問題及對應解決方案1.換源后,可以成功pull,但是search會出錯補充1.如何測試鏡像源是否可用2.Docker內的Linux換源教程換源速通版(可以直接無…

機器學習【三】SVM

本文系統介紹了支持向量機(SVM)的理論與實踐。理論部分首先區分了線性可分與不可分問題,闡述了SVM通過尋找最優超平面實現分類的核心思想,包括支持向量、間隔最大化等關鍵概念。詳細講解了硬間隔與軟間隔SVM的數學原理,以及核函數(線性核、多…

DevOps平臺大比拼:Gitee、Jenkins與CircleCI如何選型?

DevOps平臺大比拼:Gitee、Jenkins與CircleCI如何選型? 在數字化轉型浪潮席卷全球的當下,DevOps已成為企業提升研發效能的關鍵引擎。面對市場上紛繁復雜的DevOps工具鏈,如何選擇最適合自身業務需求的平臺成為技術決策者的重要課題。…

開源醫院信息管理系統:基于若依框架的智慧醫療解決方案

引言在數字化浪潮的推動下,醫療行業正加速向信息化、智能化轉型。醫院信息管理系統(HIS)作為醫療管理的核心工具,直接影響醫院的運營效率和服務質量。近期,一款基于 若依框架 Vue 的開源醫院管理系統(hosp…

我的世界進階模組開發教程——附魔(2)

EnchantmentHelper 類詳解 EnchantmentHelper 是 Minecraft 中處理物品附魔邏輯的核心工具類,提供附魔的存儲、查詢、計算和應用等功能。以下是對其字段和方法的逐行詳細解釋: 關鍵字段 private static final String TAG_ENCH_ID = "id"; // NBT標簽鍵:附…

深度學習零基礎入門(4)-卷積神經網絡架構

許久不見~ 本節我們延續上一節的話題來看看卷積神經網絡的架構,看看具體的卷積、池化等操作卷積神經網絡詳解:從基礎操作到整體架構 一、卷積操作:特征提取的核心 卷積是卷積神經網絡(CNN)的核心操作,靈感來…

C語言的控制語句

C的控制語句 控制語句是C語言中用于控制程序執行流程的結構。通過控制語句,可以根據條件執行不同的代碼塊,或者重復執行某些操作,從而實現復雜的邏輯和功能。掌握控制語句是編寫有效和高效C程序的關鍵。 1 條件控制 條件控制語句用于根據某些條件來決定程序的執行路徑。C語…

Mac電腦基本功能快捷鍵

1. 個性化桌面 將喜愛照片添加為桌面墻紙。前往“系統設置”,然后點按邊欄中的“墻紙”。點按“添加照片”,然后從文件或“照片”App選取一張照片。 2. 截屏 按下鍵盤上的Shift  Command ? 5,然后選取捕捉整個屏幕、App窗口或…

微算法科技(NASDAQ: MLGO)開發量子邊緣檢測算法,為實時圖像處理與邊緣智能設備提供了新的解決方案

圖像邊緣檢測是計算機視覺的核心任務,傳統算法(如 Sobel、Canny)依賴梯度計算與閾值分割,在處理高分辨率、復雜紋理圖像時面臨計算效率瓶頸。隨著量子計算技術的發展,利用量子態疊加與并行處理特性,微算法科…

斷點續傳Demo實現

基于我們的DownloadManager.swift代碼,讓我詳細解釋斷點續傳需要實現的核心功能: 斷點續傳的核心實現要素 1. 后臺會話配置 private func setupBackgroundSession() {let config URLSessionConfiguration.background(withIdentifier: "com.test.do…

《Leetcode》-面試題-hot100-子串

題目列表 560. 和為K的子數組 中等難度 leetcode鏈接 239 滑動窗口最大值 困難難度 leetcode鏈接 76 最小覆蓋子串 困難難度 leetcode鏈接 題目 (1)和為K的子數組 給你一個整數數組 nums 和一個整數 k ,請你統計并返回 該數組中和為 …

點擊彈框以外的區域關閉彈框

在 Vue 3 中&#xff0c;如果你想判斷點擊的目標是否在彈框內&#xff0c;可以通過以下步驟實現。這里我們將使用 ref 來引用彈框組件&#xff0c;并在點擊事件中進行判斷。 示例代碼 1. 創建彈框子組件 首先&#xff0c;創建一個名為 Modal.vue 的子組件。 <!-- Modal.vue …

00.Vue基礎入門【小白級別手把手!】

目錄 一、Vue介紹 二、創建Vue項目 nodeJs nvm版本管理 創建Vue項目 VS Code編輯器 三、.Vue文件結構說明 數據渲染 四、Vue項目目錄說明 main.ts文件說明 五、Vue官網文檔學習 一、Vue介紹 基礎介紹 Vue是一個前端Web框架&#xff0c;屬于單頁應用&#xff08;SPA&am…

將Varjo XR技術融入戰斗機訓練模擬器,有效提升模擬訓練沉浸感與效率

本周在Varjo總部&#xff0c;收到了一份令人興奮的禮物&#xff0c;一架由Dogfight Boss與varjo XR-4集成的訓練模擬器。這是一個專業級模擬器&#xff0c;專為高保真訓練和任務排練而設計&#xff0c;非常注重細節&#xff0c;提高了沉浸水平。為此Dogfight Boss的首席執行官L…

C# async await 實現機制詳解

一、async/await 異步編程實現機制 1.1 核心概念 async/await 是 C# 5.0 引入的語法糖&#xff0c;它基于**狀態機&#xff08;State Machine&#xff09;**模式實現&#xff0c;將異步方法轉換為編譯器生成的狀態機類。 1.2 編譯器轉換過程 當編譯器遇到 async 方法時&#xf…

Servlet 學習筆記

本文為記錄Servlet學習時的一些筆記和代碼 課程參考黑馬程序員 對于Java Web 學習的一個復習一 概述server applet 運行在服務器端的小程序 本質就是一個接口 定義java類被瀏覽器訪問到&#xff08;Tomcat識別&#xff09;的規則我們會自定義這樣一個類來實現復寫方法實現接口二…

【maven】倉庫配置

目錄 一、本地倉庫 二、私有倉庫 三、阿里云倉庫 一、本地倉庫 針對無外網、無maven私服&#xff0c;只有本地倉庫&#xff0c;進行maven項目開發。在maven的settings.xml中設置三項&#xff1a; 1、本地倉庫地址 默認在當前系統用戶下創建目錄&#xff1a;.m2/repository…

信息系統架構設計的系統性解析

一、信息系統架構設計??概念定義??&#xff1a;信息系統架構&#xff08;ISA&#xff09;是對系統組件、交互關系及環境約束的結構化抽象&#xff0c;確保業務目標與技術實現對齊。核心要素包括業務邏輯層、數據層、應用層和基礎設施層。??設計方法??&#xff1a;??T…

編譯舊版本的electron內核

我們的軟件產品使用的electron框架&#xff0c;electron框架是不斷更新的&#xff0c;但是我們的軟件太過龐大復雜&#xff0c;不敢輕易升級electron框架。Electron舊版本存在一些BUG和不合理的地方&#xff0c;需要去修復BUG或者不合理的地方。修復完BUG后&#xff0c;要對ele…