如何在 Linux 中使用 usermod 命令


介紹

usermod  命令是系統管理員可用於用戶管理的多個 Linux 命令之一。它用於修改現有的用戶帳戶詳細信息,例如用戶名、密碼、主目錄位置、默認 shell 等。

在本教程中,您將學習如何在 Linux 中使用  usermod  命令來更改用戶登錄信息。

如何在 Linux 中使用 usermod 命令

先決條件

  • 運行 Linux 的系統

  • 訪問命令行

usermod Linux Syntax

usermod  命令的基本語法是:

usermod [options] [username]

usermod  命令修改包含用戶帳戶信息的配置文件。這些文件是:

  • /etc/passwd  – 有關用戶帳戶的信息

  • /etc/shadow  – 與用戶安全相關的信息

  • /etc/組  – 有關組的信息

  • /etc/gshadow  – 組安全相關信息

  • /etc/login.defs  – 影子密碼套件配置

可以使用nanovim等文本編輯器直接編輯上述文件。但是, usermod 使該過程更快,更直接。

用戶模式命令示例

下面是  usermod  選項的列表,以及特定於選項的語法和示例。

向用戶添加信息

將  usermod  與  -c  選項結合使用,可以將有關用戶的一段信息添加到  /etc/passwd  文件中。這有助於識別用戶,並為與用戶相關的臨時注釋提供空間。

sudo usermod -c "[information]" [username]

使用  getent  命令檢查  /etc/passwd  文件中與用戶相關的條目。

使用 usermod -c 選項添加有關用戶的信息性消息

該條目現在包含使用  usermod  添加的注釋。

設置用戶的主目錄

當您在 Linux 中創建用戶時,系統會自動在  /home/[username]  中為他們創建一個主文件夾。要更改用戶個人文件夾的位置,請使用  -d  選項:

sudo usermod -d [directory-location] [username]

使用 usermod -d 選項更改用戶個人文件夾的位置

上面的示例將用戶的個人文件夾從  /home/mike  更改為  /var/mike 。 getent  命令確認更改成功。

-d  選項不會將個人文件夾的內容移動到新位置。如果用戶以前使用主文件夾來存儲其文件,請添加  -m  選項以移動用戶主目錄的內容:

sudo usermod -d [location] -m [username]

對於上面示例中的用戶,該命令如下所示:

sudo usermod -d /var/mike -m mike

**

注意:不能使用  usermod  更改當前登錄用戶的名稱。此外,在更改用戶的 ID (UID) 時,請確保用戶當前未執行任何進程。

設置用戶帳戶到期日期

默認情況下,用戶帳戶在 Linux 中不會過期。使用  chage -l  命令檢查用戶的帳戶賬齡信息:

sudo chage -l [username]

使用 chage -l 命令檢查用戶帳戶安全信息

如上面的示例所示,帳戶設置為不過期。通過使用帶有  -e  選項 的 usermod  來更改此設置。它允許您指定帳戶到期的年、月和日期:

sudo usermod -e [YYYY-MM-DD] [username]

通過再次使用  chage -l  命令檢查帳戶來確認更改是否成功:

使用 usermod -e 命令設置用戶帳戶到期日期

設置用戶的外殼程序

使用  usermod -s  更改單個用戶的默認 shell:

sudo usermod -s [shell] [username]

如果更改成功, getent  將在條目末尾顯示新的默認 shell。

使用 usermod -s 更改單個用戶的默認 shell

更改用戶的 UID

UID(用戶標識符)是在使用 useradd 命令創建帳戶時分配給 用戶的唯一 編號。 /etc/login.defs  文件定義 UID 值的范圍。使用  usermod -u  命令更改用戶的 UID:

sudo usermod -u [new-UID] [username]

在  passwd  條目中,找到緊跟在用戶名和密碼后面的 UID:

使用 usermod -u 命令更改用戶的 UID

更改用戶的登錄名

通過添加  -l  選項更改用戶名。語法如下:

sudo usermod -l [newname] [oldname]

使用 usermod -l 選項更改用戶名

如上面的示例所示,使用舊用戶名檢查  /etc/passwd  文件不再返回數據。但是,現在在新名稱下可以使用相同的數據。

**

注意:** NAME_REGEX   /etc/adduser.conf  文件中的值定義了創建新用戶名的標准。但是, usermod  不會強制執行相同的標准來修改用戶名。雖然任何字符串都可以作為  usermod -l ** 的新用戶名,但仍建議遵守標准命名約定。

鎖定和解鎖用戶

使用  -L  選項鎖定用戶帳戶。

sudo usermod -L [username]

使用  -L  鎖定帳戶后,用戶的登錄嘗試在鍵入密碼時將失敗:

使用用戶模式 -L 鎖定帳戶后無法對其進行身份驗證

要解鎖之前鎖定的帳戶,請鍵入  usermod -U ,后跟帳戶名稱:

sudo usermod -U [username]

使用用戶模式 -U 解鎖帳戶

正如您在上面的示例中看到的,密碼現在再次起作用,並且 zsh shell 將啟動。

為用戶設置密碼

為用戶設置密碼的最常見方法是使用 passwd 命令。 usermod  還具有用於創建密碼的專用  -p  選項:

sudo usermod -p [password] [username]

但是,不建議使用此創建密碼的方法,因為密碼在  /etc/shadow  文件中可見。如果使用 grep 命令在  /etc/shadow  文件中查找用戶名,則該條目將包含使用  usermod  創建的密碼的純文本版本:

使用 usermod 命令的 -p 選項創建用戶登錄密碼

更改用戶的主要組

使用  usermod -g 更改用戶 的主要組:

sudo usermod -g [group] [username]

id  命令確認主組的成功更改:

使用用戶模式 -g 更改用戶的主要組

將用戶添加到補充組

除了其主要組之外,用戶還可以是任意數量的補充組的成員。 -G  選項將用戶添加到補充組:

sudo usermod -G [group] [username]

使用 -G 選項將用戶添加到補充組

但是,如果用戶已經屬於某些補充組, 則 usermod -G  會從這些組中刪除這些組,並僅添加到命令之后指定的組。

在下面的示例中,用戶已經是補充組的成員。 -a  和  -G  選項的組合將用戶添加到指定的組,並將他們保留在它們已經是其成員的補充組中。

sudo usermod -a -G [group] [username]

使用 usermod -a -G 命令將用戶添加到補充組

使用多個選項更改用戶帳戶

在一個命令中使用多個選項,以便更方便地編輯用戶。下面的示例顯示了一個  usermod  命令, 該命令:

  • 更改主文件夾和外殼程序,

  • 設置帳戶到期日期,

  • 添加注釋,

  • 更改 UID,以及

  • 將用戶添加到補充組。

sudo usermod -d [home-folder] -s [shell] -e [YYYY-MM-DD] -c "[comment]" -u [UID] -aG [group] [username]

使用 usermod 命令的多個選項編輯用戶帳戶

顯示所有用戶模式命令和參數

要閱讀  usermod  幫助,請使用  --help  參數:

usermod --help

有關選項和函數的更詳細列表,請使用 man 命令

man usermod

結論

本指南解釋了  usermod  命令的使用及其眾多選項。閱讀后,您應該知道如何使用該命令修改用戶帳戶設置和登錄信息。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM