Linux用戶和組管理教程

一、用戶管理

Linux是多用戶多任務操作系統,用戶管理是Linux運維工程師的基本工作之一。在Linux系統中,用戶信息保存在/etc/passwd文件中,每個用戶對應一行記錄。在/etc/passwd文件中,每行記錄由以下七個欄位組成:

用戶名:密碼佔位符:用戶ID:主組ID:注釋信息:家目錄:默認shell

具體來說,每個欄位的含義如下:

1.用戶名:用戶的登錄名稱

2.密碼佔位符:密碼的佔位符,實際加密的密碼保存在/etc/shadow文件中

3.用戶ID:用戶編號,通常為1000或以上

4.主組ID:用戶的主用戶組編號,通常與用戶ID相同

5.注釋信息:對用戶的注釋,一般為用戶的姓名或描述信息

6.家目錄:用戶的主目錄,一般為/home/用戶名

7.默認shell:用戶登錄系統後默認使用的shell,一般為/bin/bash

1.1 創建用戶

創建用戶使用useradd命令,通過以下命令創建一個名為testuser的用戶:

$ sudo useradd testuser

創建用戶還可以指定用戶的家目錄和默認shell:

$ sudo useradd -d /home/testuser -s /bin/bash testuser

以上命令將創建一個名為testuser的用戶,其主目錄為/home/testuser,Shell為/bin/bash。

1.2 修改用戶

修改用戶信息可以使用usermod命令,可以修改用戶名、主組、家目錄、Shell等信息。例如,將testuser的主組修改為自定義的mygroup:

$ sudo usermod -g mygroup testuser

1.3 刪除用戶

刪除用戶使用userdel命令,以下命令將刪除testuser用戶:

$ sudo userdel testuser

二、組管理

除了單獨管理用戶外,Linux系統還可以通過組的方式對用戶進行管理。Linux系統中的組信息保存在/etc/group文件中,每個組對應一行記錄。在/etc/group文件中,每行記錄由以下四個欄位組成:

組名:密碼佔位符:組ID:組內用戶

每個欄位的含義如下:

1.組名:組的名稱,唯一標識組的名稱

2.密碼佔位符:密碼的佔位符,沒有實際作用

3.組ID:組的編號,通常為1000或以上

4.組內用戶:屬於該組的用戶列表,使用逗號分隔

2.1 創建組

創建組使用groupadd命令,以下命令將創建一個名為mygroup的組:

$ sudo groupadd mygroup

2.2 修改組

修改組信息使用groupmod命令,以下命令將將mygroup的名字修改為newgroup:

$ sudo groupmod -n newgroup mygroup

2.3 刪除組

刪除組使用groupdel命令,以下命令將刪除newgroup組:

$ sudo groupdel newgroup

三、用戶與組關聯

在Linux系統中,用戶和組通過UID和GID進行關聯。每個用戶都有一個唯一的UID和一個主GID,而一個用戶可以同時屬於多個附屬組(Supplementary Group)。

3.1 查看用戶與組信息

查看用戶UID和GID信息使用id命令,例如查看當前用戶信息:

$ id
uid=1000(username) gid=1000(username) groups=1000(username),27(sudo),29(audio),44(video),…

以上命令可以看出當前用戶的UID為1000,主GID也為1000,同時還屬於其他組。

3.2 添加附屬組

將testuser添加到mygroup附屬組中,通過以下命令實現:

$ sudo usermod -a -G mygroup testuser

3.3 刪除附屬組

將testuser從mygroup附屬組中刪除,通過以下命令實現:

$ sudo gpasswd -d testuser mygroup

結語

本文介紹了Linux用戶和組管理的基本知識和操作方法。通過學習本文,Linux運維工程師可以掌握用戶和組的創建、修改和刪除操作,以及用戶與組之間的關聯。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/157562.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-18 20:00
下一篇 2024-11-18 20:00

相關推薦

  • MQTT使用教程

    MQTT是一種輕量級的消息傳輸協議,適用於物聯網領域中的設備與雲端、設備與設備之間的數據傳輸。本文將介紹使用MQTT實現設備與雲端數據傳輸的方法和注意事項。 一、準備工作 在使用M…

    編程 2025-04-29
  • Python3.6.5下載安裝教程

    Python是一種面向對象、解釋型計算機程序語言。它是一門動態語言,因為它不會對程序員提前聲明變數類型,而是在變數第一次賦值時自動識別該變數的類型。 Python3.6.5是Pyt…

    編程 2025-04-29
  • Deepin系統分區設置教程

    本教程將會詳細介紹Deepin系統如何進行分區設置,分享多種方式讓您了解如何規劃您的硬碟。 一、分區的基本知識 在進行Deepin系統分區設置之前,我們需要了解一些基本分區概念。 …

    編程 2025-04-29
  • 寫代碼新手教程

    本文將從語言選擇、學習方法、編碼規範以及常見問題解答等多個方面,為編程新手提供實用、簡明的教程。 一、語言選擇 作為編程新手,選擇一門編程語言是很關鍵的一步。以下是幾個有代表性的編…

    編程 2025-04-29
  • Qt雷達探測教程

    本文主要介紹如何使用Qt開發雷達探測程序,並展示一個簡單的雷達探測示例。 一、環境準備 在開始本教程之前,需要確保你的開發環境已經安裝Qt和Qt Creator。如果沒有安裝,可以…

    編程 2025-04-29
  • 猿編程python免費全套教程400集

    想要學習Python編程嗎?猿編程python免費全套教程400集是一個不錯的選擇!下面我們來詳細了解一下這個教程。 一、課程內容 猿編程python免費全套教程400集包含了從P…

    編程 2025-04-29
  • Python煙花教程

    Python煙花代碼在近年來越來越受到人們的歡迎,因為它可以讓我們在終端里玩煙花,不僅具有視覺美感,還可以通過代碼實現動畫和音效。本教程將詳細介紹Python煙花代碼的實現原理和模…

    編程 2025-04-29
  • 使用Snare服務收集日誌:完整教程

    本教程將介紹如何使用Snare服務收集Windows伺服器上的日誌,並將其發送到遠程伺服器進行集中管理。 一、安裝和配置Snare 1、下載Snare安裝程序並安裝。 https:…

    編程 2025-04-29
  • Python中接收用戶的輸入

    Python中接收用戶的輸入是一個常見的任務,可以通過多種方式來實現。本文將從以下幾個方面對Python中接收用戶的輸入做詳細闡述。 一、使用input函數接收用戶輸入 Pytho…

    編程 2025-04-29
  • Python彈框讓用戶輸入

    本文將從多個方面對Python彈框讓用戶輸入進行闡述,並給出相應的代碼示例。 一、Tkinter彈窗 Tkinter是Python自帶的圖形用戶界面(GUI)庫,通過它可以創建各種…

    編程 2025-04-28

發表回復

登錄後才能評論