LFCA:學習使用者帳戶管理 – 第 5 部分

作為Linux系統管理員,您將負責確保組織中所有IT操作的順暢進行。鑑於一些IT操作是相互交織的,系統管理員通常需要扮演多種角色,包括數據庫或網絡管理員。

本文是LFCA系列第五部分,在這一部分中,您將熟悉一般的系統管理命令,以在Linux系統中創建和管理用戶。

Linux中的用戶帳戶管理

Linux系統管理員的主要職責之一是在Linux系統中創建和管理用戶。每個用戶帳戶有2個唯一標識符: 用戶名用戶IDUID)。

基本上,Linux中有3種主要的用戶類別:

Root用戶

在Linux系統中,root用戶是最強大的用戶,通常在安裝過程中創建。root用戶在Linux系統或任何其他類UNIX操作系統中擁有絕對的權力。該用戶可以訪問所有命令、文件和目錄,並根據自己的喜好修改系統。

root 用户可以更新系统、安装和卸载软件包、添加或删除其他用户、授予或撤销权限,并执行任何其他系统管理任务,而无需任何限制。

root 用户几乎可以在系统上做任何事情。Linux 和类 UNIX 系统的假设是您对系统的操作非常了解。也就是说,root 用户很容易破坏系统。只需执行一个致命命令,系统就会崩溃。

因此,强烈不建议以 root 用户身份运行命令。相反,良好的做法要求您应该配置一个 sudo 用户。也就是授予普通用户 sudo 特权来执行某些管理任务,并将某些任务限制只能由 root 用户执行。

普通用户

A regular user is a normal login user that can be created by a systems administrator. Usually, there is a provision to create one during the installation process. However, you can still create as many regular users as needed post-installation.

A regular user can only perform tasks and access files and directories for which they are authorized. If need be, a regular user can be granted elevated privileges to perform administrative-level tasks. Regular users can also be deleted or disabled when the need arises.

服务账户

这是在安装软件包时创建的非登录帐户。此类帐户用于服务在系统中执行进程。它们并不设计或打算在系统中执行任何常规或管理任务。

用户管理文件

Linux 系统中关于用户的信息存储在以下文件中:

  • /etc/passwd文件
  • /etc/group文件
  • /etc/gshadow文件
  • /etc/shadow文件

讓我們了解每個文件及其功能:

/etc/passwd文件

/etc/passwd文件包含有關用戶的大量信息,這些信息包含在各種字段中。要查看文件的內容,只需使用如下所示的cat命令

$ cat /etc/passwd

以下是輸出的一部分。

tecmint:x:1002:1002:tecmint,,,:/home/tecmint:/bin/bash

讓我們專注於第一行並詳細說明各個字段。從最左邊開始,我們有以下內容:

  • 用戶名:這是用戶的名稱,在這種情況下是tecmint。
  • 密碼:第二列代表用戶的加密密碼。密碼不以明文形式打印,而是使用帶有x標誌的占位符。
  • UID:這是用戶ID。這是每個用戶的唯一標識符。
  • GID:這是組ID
  • A brief description or summary of the user.
  • 這是用戶的主目錄的路徑。對於tecmint用戶,我們有/home/tecmint
  • 這是登錄shell。對於常規登錄用戶,這通常表示為/bin/bash。對於SSH或MySQL等服務帳戶,這通常表示為/bin/false

/etc/group 文件

此文件包含有关用户组的信息。创建用户时,shell 会自动创建与用户用户名相对应的组。这被称为主组。用户在创建时被添加到主组中。

例如,如果创建名为 bob 的用户,则系统会自动创建名为 bob 的组,并将用户 bob 添加到该组中。

$ cat /etc/group

tecmint:x:1002:

/etc/group 文件有3列。从最左边开始,我们有:

  • 组名。每个组名必须是唯一的。
  • 组密码。通常用 x 占位符表示。
  • 组 ID(GID)
  • 组成员。这些是属于组的成员。如果用户是组中唯一的成员,则此字段为空白。

注意:用户可以是多个组的成员。同样,一个组可以有多个成员。

要确认用户属于哪些组,请运行以下命令:

$ groups username

例如,要检查用户 tecmint 属于哪些组,请运行以下命令:

$ groups tecmint

输出确认用户属于两个组:tecmintsudo

tecmint : tecmint sudo

/etc/gshadow 文件

此文件包含组帐户的加密或“隐藏”密码,出于安全原因,普通用户无法访问。只有 root 用户和具有 sudo 权限的用户可以读取它。

$ sudo cat /etc/gshadow

tecmint:!::

从最左边开始,文件包含以下字段:

  • 群組名稱
  • 加密的群組密碼
  • 群組管理員
  • 群組成員

/etc/shadow 檔案

/etc/shadow 檔案以雜湊或加密格式儲存使用者的實際密碼。再次強調,各欄以冒號分隔,格式如下

$ sudo cat /etc/shadow

tecmint:$6$iavr8PAxxnWmfh6J$iJeiuHeo5drKWcXQ.BFGUrukn4JWW7j4cwjX7uhH1:18557:0:99999:7:::

這個檔案有 9 個欄位。從最左邊開始,我們有:

  • 使用者名稱:這是您的登入名稱
  • 使用者的密碼。這是以雜湊或加密格式呈現的
  • 上次更改密碼的日期。這是自從密碼更改以來計算的日期,計算自大約 1970 年 1 月 1 日的時刻(Epoch)
  • 最小密碼年齡。這是必須過去的最小天數,才能設定一個密碼
  • 最大密碼年齡。這是必須更改密碼的最大天數
  • 警告期間。正如名稱所示,這是密碼即將過期之前的幾天,用戶將被通知密碼即將到期
  • 閒置期間。密碼過期後幾天,使用者帳戶將被停用,而使用者未更改密碼
  • 到期日期。使用者帳戶到期的日期
  • 保留欄位。 – 這是留空白的

如何在 Linux 系統中新增使用者

DebianUbuntu 發行版中,使用 adduser 實用程序來添加用戶。

語法相當簡單直觀。

# adduser username

例如,要添加名為 bob 的用戶,運行以下命令:

# adduser bob

從輸出中,創建了一個名為「bob」的用戶,並將其添加到一個新創建的名為「bob」的組中。此外,系統還創建了一個主目錄並復制了配置文件。

之後,系統將提示您輸入新用戶的密碼並進行確認。殼還會提示您輸入用戶的全名和其他可選信息,例如房間號和工作電話。這些信息並非必填,因此可以跳過。最後,按 ‘Y’ 確認提供的信息正確。

Add User in Ubuntu

對於 RHELCentOS 系統,請使用 useradd 命令

# useradd bob

接下來,使用以下 passwd 命令為用戶設置密碼。

# passwd bob
Add User in CentOS

如何在 Linux 系統中刪除用戶

要從系統中刪除用戶,建議首先按如下所示鎖定用戶的登錄權限。

# passwd -l bob

如果您願意,可以使用 tar 命令 備份用戶的文件。

# tar -cvf /backups/bob-home-directory.tar.bz2  /home/bob
Lock User Account in Linux

最後,要刪除使用者以及其家目錄,請使用以下deluser命令:

# deluser --remove-home bob
Delete User in Linux

此外,您也可以使用userdel命令。

# userdel -r bob

這兩個命令會完全刪除使用者以及其家目錄。

結論

以上是有關使用者管理命令的概述,尤其在辦公環境中管理使用者帳戶時將會非常有用。不妨不時嘗試,以磨練您的系統管理技能。

Source:
https://www.tecmint.com/linux-user-account-management/