Linux 命令:useradd

Linux useradd 命令詳細教程

  • useradd 是 Linux 系統中用于創建新用戶賬戶的基礎命令,它通過配置文件(如 /etc/passwd/etc/shadow)和默認設置自動完成用戶創建流程。本文將詳細介紹其用法、參數及相關配置。
  • 資料已經分類整理好:https://pan.quark.cn/s/26d73f7dd8a7
一、基本語法
useradd [選項] 用戶名
  • 核心功能
    • 在系統中創建新用戶賬戶。
    • 自動生成用戶主目錄(默認 /home/用戶名)。
    • 分配用戶 ID(UID)和組 ID(GID)。
    • 配置用戶基本信息(如 shell、過期時間等)。
二、常用選項
選項功能描述
-d 目錄指定用戶的主目錄(如 -d /data/user1
-m自動創建主目錄(若不存在)
-M不創建主目錄(默認不創建,除非 -m 已指定)
-g 組名指定用戶的初始主組(如 -g developers
-G 組名1,組名2指定用戶的附加組(如 -G sudo,adm
-s shell指定用戶的登錄 shell(如 -s /bin/bash
-u UID指定用戶的 UID(需手動確保唯一性)
-e 日期設置賬戶過期日期(格式:YYYY-MM-DD)
-f 天數設置密碼過期后賬戶的寬限期(如 -f 7
-c 注釋添加用戶注釋(如 -c "系統管理員"
-N不創建與用戶名同名的組(默認會創建)
三、實際操作示例
1. 創建普通用戶(默認配置)
useradd testuser  # 創建用戶 testuser,使用默認配置
  • 默認行為:
    • 主目錄:/home/testuser(需配合 -m 自動創建)。
    • 主組:testuser(同名組)。
    • shell:/bin/sh(或系統默認 shell)。
    • UID:自動分配(通常從 1000 開始遞增)。
2. 創建用戶并指定主目錄
useradd -m -d /data/admin admin  # 創建用戶 admin,主目錄為 /data/admin
3. 將用戶添加到多個組
# 創建用戶 dev1,主組為 developers,附加組為 sudo 和 docker
useradd -m -g developers -G sudo,docker dev1
4. 創建系統用戶(無交互式 shell)
useradd -r -s /sbin/nologin nginx  # 創建系統用戶 nginx,用于運行服務
  • -r:創建系統用戶(UID 通常小于 1000)。
  • -s /sbin/nologin:禁止用戶登錄交互式 shell。
5. 設置用戶賬戶過期時間
useradd -e 2025-12-31 tempuser  # 創建臨時用戶,賬戶2025年底過期
四、配置文件與默認值

useradd 的默認行為由以下配置文件控制:

  1. /etc/default/useradd:全局默認設置

    GROUP=100  # 默認組 ID
    HOME=/home  # 主目錄前綴
    INACTIVE=-1  # 密碼過期后賬戶不鎖定
    EXPIRE=  # 賬戶默認不過期
    SHELL=/bin/bash  # 默認 shell
    SKEL=/etc/skel  # 主目錄模板目錄
    CREATE_MAIL_SPOOL=yes  # 是否創建郵件假脫機文件
    
  2. /etc/skel/:主目錄模板

    • 新用戶主目錄會復制此目錄下的所有文件(如 .bashrc.profile)。
  3. /etc/login.defs:系統級用戶賬戶配置

    • 定義 UID/GID 范圍、密碼策略等。
五、驗證用戶創建結果

創建用戶后,可通過以下命令驗證:

  1. 查看用戶信息

    id username  # 顯示用戶 UID、GID 和所屬組
    cat /etc/passwd | grep username  # 查看用戶賬戶信息
    
  2. 檢查主目錄

    ls -ld /home/username  # 查看主目錄權限和所有者
    
  3. 設置密碼

    passwd username  # 為新用戶設置密碼
    
六、注意事項
  1. 權限要求
    必須使用 sudo 或 root 權限執行 useradd

  2. UID 唯一性
    使用 -u 手動指定 UID 時,需確保該 UID 未被其他用戶使用(可通過 /etc/passwd 檢查)。

  3. 主目錄與模板
    若不使用 -m 選項,需手動創建主目錄并配置權限。

  4. 系統用戶與服務賬戶
    運行系統服務(如 Web 服務器、數據庫)時,建議創建專用系統用戶(如 nginxmysql),并限制其登錄權限。

七、與其他命令對比
命令功能適用場景
useradd創建用戶賬戶(非交互式)批量創建用戶、腳本自動化
adduser創建用戶賬戶(交互式)手動創建用戶,引導輸入信息
usermod修改用戶賬戶屬性修改現有用戶的組、shell 等
userdel刪除用戶賬戶移除不再需要的用戶
八、總結

useradd 是 Linux 系統中創建用戶的基礎工具,核心用法可總結為:

  • 基本創建useradd -m username
  • 指定主組useradd -g groupname username
  • 添加附加組useradd -G sudo,docker username
  • 系統用戶useradd -r -s /sbin/nologin servicename

合理配置用戶賬戶是系統安全的重要環節,建議結合 usermoduserdel 命令管理用戶生命周期,并定期清理不再使用的賬戶。

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

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

相關文章

Pytest之收集用例規則與運行指定用例

🍅 點擊文末小卡片,免費獲取軟件測試全套資料,資料在手,漲薪更快 小伙伴們大家好呀,今天筆者會給大家講解一下pytest是如何收集我們寫好的用例?我們又有哪些方式來運行單個用例或者批量運行用例呢&#xff…

qt 使用memcpy進行內存拷貝時注意的問題

int offset sizeof(st_target_data);// 預先分配足夠空間this->featureData.resize(offsetsize);// 再執行拷貝memcpy(this->featureData.data()offset, dataa, size);注意 一定要在mencpy之前 使用resize分配足夠的空間,否則在方法退出時候會閃退&#xff…

微調性能趕不上提示工程怎么辦?Can Gradient Descent Simulate Prompting?——論文閱讀筆記

今天速讀一篇文章 Can Gradient Descent Simulate Prompting? 一句話總結 針對【新知識應用的場景里,FT效果往往追不上ICL】這個情況,作者引入MAML的思想↓ 內圈讓模型學習新知識形成知識FT模型; 外圈通過最小化ICL和知識FT模型的KL散度&…

從“直覺搶答”到“深度思考”:大模型的“慢思考”革命,思維鏈、樹、圖如何讓AI越來越像人?

注:此文章內容均節選自充電了么創始人,CEO兼CTO陳敬雷老師的新書《GPT多模態大模型與AI Agent智能體》(跟我一起學人工智能)【陳敬雷編著】【清華大學出版社】 GPT多模態大模型與AI Agent智能體書籍本章配套視頻課程【陳敬雷】 文…

Android系統的問題分析筆記 - Android上的調試方式 debuggerd

debuggerd 是 Android 系統中的一個重要調試工具,主要用于生成進程崩潰時的核心轉儲(core dump)和調試信息(如堆棧跟蹤)。以下是關于 debuggerd 的詳細說明: 1. 基本功能 崩潰分析:當 Native 進…

python 雙下劃線開頭函數

在 Python 里,雙下劃線開頭的函數(準確地說是方法)有著特殊的用途和意義。下面為你詳細介紹相關內容: 1. 類的特殊方法(魔術方法) 以雙下劃線開頭和結尾的方法,被稱為特殊方法或者魔術方法&…

VyOS起步指南:用Docker快速搭建網絡實驗環境

文章目錄1. VyOS是什么?為什么選擇它?2. 五分鐘快速部署:Docker方案3. 進入容器:初探VyOS世界4. 核心操作:像開發者一樣思考5. 踩坑提醒:新手常見問題6. 結語:網絡即代碼的未來1. VyOS是什么&am…

動態規劃理論基礎,LeetCode 509. 斐波那契數 LeetCode 70. 爬樓梯 LeetCode 746. 使用最小花費爬樓梯

動態規劃理論基礎動態規劃,英文:Dynamic Programming,簡稱DP,如果某一問題有很多重疊子問題,使用動態規劃是最有效的。所以動態規劃中每一個狀態一定是由上一個狀態推導出來的,這一點就區分于貪心&#xff…

暑期自學嵌入式——Day02(C語言階段)

點關注不迷路喲。你的點贊、收藏,一鍵三連,是我持續更新的動力喲!!! 主頁: 一位搞嵌入式的 genius-CSDN博客https://blog.csdn.net/m0_73589512?spm1000.2115.3001.5343 目錄 Day02→數據類型&#xf…

如何單獨安裝設置包域名

前言 在 npm 中,直接通過 package-lock.json 無法單獨設置包的安裝地址,因為該文件是自動生成的依賴關系鎖定文件。但你可以通過以下方法間接實現: 一、在 package.json 中指定包來源(推薦) 在 package.json 的 depend…

存儲過程探秘:數據庫編程的藝術

文章目錄存儲過程語法格式BEGIN...END語句塊DECLARE(聲明局部變量)流控制語句if函數批處理操作測試2測試3存儲過程與函數的關系存儲過程 MYSQL的存儲過程是一組預處理的SQL語句,可以像函數一樣在數據庫中進行存儲和調用。 它們允許在數據庫…

非阻塞寫入核心:asyncio.StreamWriter 的流量控制與數據推送之道

在 asyncio 的異步編程框架中,如果說 asyncio.StreamReader 是你異步應用的數據輸入管道,那么 asyncio.StreamWriter 就是你異步應用的數據輸出管道。它是一個至關重要的組件,讓你能夠方便、高效且非阻塞地向連接的另一端(如 TCP …

控制臺打開mysql服務報錯解決辦法

控制臺打開mysql服務報錯解決辦法這個MySQL錯誤表示訪問被拒絕,通常是因為沒有提供正確的用戶名和密碼。以下是幾種解決方法: 方法1:指定用戶名和密碼連接 mysql -u root -p然后輸入root用戶的密碼。 方法2:如果忘記了root密碼&am…

Unsloth 實戰:DeepSeek-R1 模型高效微調指南(下篇)

食用指南 本系列因篇幅原因拆分為上下兩篇: 上篇以基礎環境搭建為主,介紹了 Unsloth 框架、基座模型下載、導入基座模型、數據集下載/加載/清洗、SwanLab 平臺賬號注冊。 下篇(本文)以實戰微調為主,介紹預訓練、全量…

Ubuntu安裝Jenkins

Ubuntu安裝Jenkins方法1:使用官方的Jenkins倉庫1. 添加Jenkins倉庫2. 更新軟件包列表3. 安裝Jenkins4. 啟動Jenkins服務5. 設置Jenkins開機啟動6. 查找初始管理員密碼7. 訪問Jenkins方法2:使用Snap包(適用于較新的Ubuntu版本)1. 安…

ubuntu22.04下配置qt5.15.17開發環境

自從qt5.15版本開始,不再提供免費的離線安裝包,只能通過源碼自行編譯。剛好最近需要在ubuntu22.04下配置qt開發環境,于是寫篇文章記錄配置的過程。 其實一開始是想配置qt5.15.2的,但是在編譯配置參數這一步驟中出現如下報錯 em…

S7-1200 與 S7-300 CPS7-400 CP UDP 通信 Step7 項目編程

S7-1200 CPU 與S7-300 CP STEP7 UDP通信S7-1200 與 S7-300 CP 之間的以太網通信可以通過 UDP 協議來實現,使用的通信指令是在S7-1200 CPU 側調用通信-開放式用戶通信TSEND_C,TRCV_C指令或TCON,TDISCON,TUSEND,TURCV 指…

基于YOLOv11的無人機目標檢測實戰(Windows環境)

1. 環境搭建 1.1 硬件與操作系統 操作系統:Windows 11 CPU:Intel i7-9700 GPU:NVIDIA RTX 2080(8GB顯存) 1.2 安裝CUDA和cuDNN 由于YOLOv11依賴PyTorch的GPU加速,需要安裝CUDA和cuDNN: 安…

Spring Cloud分布式配置中心:架構設計與技術實踐

從單體到微服務:Spring Cloud 開篇與微服務設計 Spring Cloud服務注冊與發現:架構設計與技術實踐深度分析 在以往分享中,碼友們已經掌握了微服務的設計和注冊中心的設計,部分聰明的碼友已經察覺了,已經到了需要設計一個…

15.2 Common Criteria合規

目錄1. Common Criteria簡介1.1 CC評估要素1.2 CC與TF-A的關系2. TF-A的CC合規要求2.1 安全功能需求2.2 開發過程要求3. TF-A的CC合規實現3.1 關鍵安全機制3.2 開發流程控制4. CC認證實踐指南4.1 認證準備步驟4.2 典型挑戰與解決方案4.3 已認證案例參考5. 持續合規建議1. Commo…