Linux手動新建用戶

来源:https://www.cnblogs.com/CharrammaBlog/archive/2020/04/21/12746354.html
-Advertisement-
Play Games

環境:CentOS8 需求:手動新建一個用戶,用戶名為zhangsan,uid設置為1024(前提是這個uid沒有被占用),gid也設置為1024,組名與用戶名同名,家目錄在/home/zhangsan、預設shell為/bin/bash 註意:以下步驟都是使用root用戶進行,部分命令和操作只有r ...


環境:CentOS8
需求:手動新建一個用戶,用戶名為zhangsan,uid設置為1024(前提是這個uid沒有被占用),gid也設置為1024,組名與用戶名同名,家目錄在/home/zhangsan、預設shell為/bin/bash
註意:以下步驟都是使用root用戶進行,部分命令和操作只有root用戶才有許可權。

第一步:修改 /etc/passwd 文件

vim 打開 /etc/passwd 文件追加一行信息

/etc/passwd文件的每一行代表一個用戶的信息,用冒號分隔的每一個欄位分別代表不同的含義。

  • 第一個欄位:用戶名
  • 第二個欄位:密碼,這裡的 x 僅僅是一個標識,真正的密碼加密保存在 /etc/shadow 中
  • 第三個欄位:UID
  • 第四個欄位:GID
  • 第五個欄位:用戶描述信息,可不填
  • 第六個欄位:用戶家目錄位置
  • 第七個欄位:預設shell

修改完成,保存退出。

第二步:修改 /etc/shadow 文件

用 vim 打開 /etc/shadow 文件,進入輸入模式,系統給出警告。它告訴你,你正在打算修改一個只讀文件(其實讀許可權也沒有)。

可以看一下,shadow 文件啥許可權也沒有

不過沒關係,咱用的root用戶,想幹啥就幹啥。按下 Enter 鍵繼續
在 shadow 文件的最後追加一行信息。

shadow文件同樣是一行一個用戶的信息,每個欄位有不同含義。

  • 第一個欄位:用戶名
  • 第二個欄位:密碼。有密碼的用戶在這裡都是一串加密過的字元。這裡我填了兩個嘆號,表示沒有密碼。
  • 第三個欄位:從1970/01/01到最近一次密碼修改經過的時間,以天為單位。
  • 第四個欄位:密碼過多久可以被修改,0表示隨時可改。
  • 第五個欄位:密碼的有效期
  • 第六個欄位:密碼要過期前多少天提醒用戶,7就是提前一周提醒。
  • 第七個欄位:密碼過期後多少天之內還能登錄,但是要登錄必須改密碼。
  • 第八個欄位:密碼的最長使用期限
  • 第九個欄位:系統保留欄位
    修改完畢,使用 wq! 保存退出,不然又會給出警告,無法保存。

第三步:修改 /etc/group 文件

在最後追加如下信息

group 文件一行有四個欄位

  • 第一個欄位是組名
  • 第二個欄位是組密碼,這裡的 x 和 /etc/passwd 的密碼欄位差不多。
  • 第三個欄位就是GID
  • 第四個欄位是組中的用戶,如果該組是某個用戶的主要組,那麼這個用戶不會顯示在這個欄位里,因此這裡我空著。

第四步:新建用戶家目錄

mdkir /home/zhangsan

第五步:複製/etc/skel目錄下的環境變數配置文件到家目錄下


這幾個文件裡面是用戶的環境變數配置信息,我們使用 useradd 命令新建用戶也會複製這幾個文件到用戶的家目錄下。

第六步:修改家目錄的許可權和屬主

到現在為止,用戶 zhangsan 的家目錄和其中的所有文件都是root用戶的

將這些文件的歸屬權給 zhangsan,並修改文件許可權

# 將用戶 zhangsan 的家目錄 /home/zhangsan 的屬主和組修改為 zhangsan
chown -R zhangsan:zhangsan /home/zhangsan

# 修改文件的許可權,只允許屬主有讀寫許可權,其他用戶和組沒有任何許可權
chmod 700 /home/zhangsan

修改後的結果如下

第七步:創建郵箱文件

# 創建郵箱文件
touch /var/spool/mail/zhangsan

# 同樣需要修改郵箱的所有者
chown zhangsan:zhangsan /var/spool/mail/zhangsan

確認用戶創建成功


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 直接上代碼: int DayinWeek = 0; string week = DateTime.Today.DayOfWeek.ToString(); #region 獲取DayinWeek值 switch (week) { case "Monday": DayinWeek = 1; break; ...
  • 最近想把網站的一個服務獨立出來專門提供數據用,交互用grpc,服務發現用consul,運行環境用docker 。 現在問題來了,首先,grpc傳輸使用http2協議,http2協議需要https,在內網情況下我們可能不想用https,那麼grpc也是可以使用http的,參考:Http2Unencry ...
  • 保護WEBAPI有哪些方法? 微軟官方文檔推薦了好幾個: Azure Active Directory Azure Active Directory B2C (Azure AD B2C)] IdentityServer4 前面兩個看著就覺得搞不太明白,第三個倒是非常常見,相關的文章也很多。不過這個東 ...
  • 利用AfterScroll事件,來實現雙grid聯動。 1 private void Grid_AfterScroll(object sender, RangeEventArgs e) 2 { 3 try 4 { 5 if (!_Interlocking) 6 { 7 // スクロール連動の排他的制 ...
  • [TOC] 1.如何創建 2.含義 3.特點 4.怎麼刪除 5.文件刪除原理 ...
  • [TOC] 1.buffer和cache簡介 2.buffer 3.cache ...
  • [TOC] 1.inode和block簡介 2.inode 2.1.含義 2.2.怎麼來的 2.3.特點 2.4.怎麼用/看 3.block 3.1.含義 3.2.怎麼來的 3.3.特點 3.4.怎麼用/怎麼看 ...
  • C語言的位運算操作包括兩類,邏輯運算操作和邏輯移位操作。 邏輯運算操作 C語言提供了四種按位邏輯操作符,分別是按位取反,按位與,按位或,按位異或。在編譯時,編譯器會根據操作數的寬度分別轉換為不同的指令。 | 操作|C語言操作符 | 彙編指令 | | | | | | 按位取反 |~ | notb、no ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...