如何在 Linux 中使用 Usermod 命令

Linux 系统中 usermod 命令的使用详细指南,并附有各种示例

用户模式 命令是 Linux 系统提供的所有用户帐户修改实用程序中最强大的命令。它为用户提供了对现有用户帐户进行任何修改的空间。

Usermod 有助于更改 Linux 系统上现有用户的属性。这些属性可能包括密码、登录名、登录目录、到期日期、更改用户 ID 等参数。

从命令行管理所有用户帐户详细信息是一项相当简单的任务,但并不是每个人都知道这样做的命令。我们将引导您完成所有可能的场景 用户模式 在 Linux 环境中。

笔记: 执行 用户模式 命令你需要是一个 root 用户或者你需要有 须藤 使用权。

包含用户详细信息的文件

当你即将使用 用户模式 命令,了解可能需要使用的文件对您来说非常重要。这些文件包含与系统上存在的用户帐户相关的所有信息。

文件描述
/etc/passwd包含有关用户的几条信息
/etc/组包含有关系统上使用的每个组的信息
/etc/gshadow包含安全组帐户信息
/etc/login.defs为影子密码套件定义特定于站点的配置。
/etc/shadow包含加密的密码以及其他信息,例如帐户或密码过期值

Usermod 命令的基本语法

要使用的语法 用户模式 命令本质上是非常基本的。重要的是要知道应该使用哪些选项来执行此命令。

句法:

usermod [选项] 用户名 

选项:

选项用法
-l更改用户名
-d修改现有用户账户的家目录
-L通过禁用密码锁定用户帐户
-U解锁密码锁
-m将内容从用户的现有主目录移动到任何新目录位置
-u更改现有用户的用户 ID
-G更改用户组
-G用户也是其成员的补充组列表。
-s为新帐户创建外壳
-e更改用户帐户的到期日期

Usermod 命令的应用

如上表所述, 用户模式 命令与不同的选项一起使用来操作与用户帐户信息相关的属性。

按照下面给出的示例使用 用户模式 命令用于涉及用户帐户及其属性操作的任务。

更改用户名

用户名是个人选择,可以在用户需要时随时更改。您可以通过命令行以及设置中的 GUI 更改 Linux 系统中现有用户的用户登录名。您可以按照下面给出的命令通过命令行使用 用户模式 命令。

句法:

usermod -l [新用户名] [现有用户名]

例子:

sudo usermod -l batman 临时

输出:

您可以通过运行以下命令来确认用户名更改 id [用户] 命令命令。

gaurav@ubuntu:~$ id batman uid=1002(batman) gid=1002(temporary) groups=1002(temporary) gaurav@ubuntu:~$ id 临时 id: ‘temporary’: 没有这样的用户 gaurav@ubuntu:~$

在上面的输出中,很明显用户名“temporary”被更改为新用户名“batman”。

更改现有用户的主要组

在 Linux 生态系统中,计算机系统用户的集合被称为“组”。拥有“组”的主要目的是针对组用户内的共享资源定义某些权限(读取、写入、执行)。通常,用户的主组与用户名的名称相同。

用户模式,您可以更改用户的主要组并将用户添加到另一个组。

您可以使用 团体 命令。

gaurav@ubuntu:~$ 组 gaurav adm cdrom sudo dip plugdev lpadmin sambashare gaurav@ubuntu:~$

要更改用户的主要组,您将需要用户当前添加到的主要组的组名。使用 id [用户名] 命令获取用户当前主组的组名和组ID。

gaurav@ubuntu:~$ id batman uid=1000(batman) gid=1000(batman) groups=1000(batman),128(sambashare),4(adm),24(cdrom),27(sudo) gaurav@ubuntu: ~$ 

这里的主要组是‘蝙蝠侠'.现在,使用 用户模式 命令更改用户的主要组。我正在将用户的主要组更改为“sambashare”。检查以下命令。

句法:

sudo usermod -g [组名] [用户名]

例子:

 sudo usermod -g sambashare batman

输出:

gaurav@ubuntu:~$ sudo usermod -g sambashare batman gaurav@ubuntu:~$ id batman uid=1000(batman) gid=128(sambashare) groups=128(sambashare),1000(batman),4(adm),24 (cdrom),27(sudo) gaurav@ubuntu:~$ 

使用上述操作,用户 batman 的主要组现在更改为“sambashare”。

向现有用户添加新组

在 Linux 系统中,用户帐户可以属于多个组。每个用户都有一个主要组。 Linux 也允许向用户添加辅助组。

语法:

sudo usermod -G [新组] [用户名]

例子:

sudo usermod -G dip batman

输出:

gaurav@ubuntu:~$ sudo usermod -G dip batman gaurav@ubuntu:~$ id batman uid=1000(batman) gid=128(sambashare) groups=128(sambashare), 30(dip) gaurav@ubuntu:~$ 

这里名为“dip”的新组被添加到用户“batman”中。

笔记: 要将新组添加为“次要组”,您应该使用 -一个 范围。

-一个 方法 附加.使用 -一个-G 将组添加为“次要组”而不更改用户的“主要组”。

使用以下命令保持用户的主要组不变。

sudo usermod -a -G [要添加的组] [用户]

更改用户的主目录

当您登录到您的系统时,您的会话将在您的用户帐户唯一的主目录中启动。创建用户帐户时,系统会分配此唯一目录。 Linux 为您提供了更改“主目录”的选项。大多数情况下,“主目录”的名称与用户名相同,并位于 /家 目录。

使用以下命令更改用户的“主目录”。

句法:

sudo usermod -d [new_directory_path] [用户名]

要验证主目录是否已更改,请使用 格雷普 命令。我已经显示了有关用户“batman”的信息 /etc/passwd 文件。

gaurav@ubuntu:~$ sudo usermod -d /var/hpq/ batman gaurav@ubuntu:~$ grep 'var/hpq/' /etc/passwd batman:x:1001:4::/var/hpq/:/bin /false gaurav@ubuntu:~$

笔记: 要将内容从旧主目录移动到新目录,您必须使用 -m.使用如下所示的语法。

sudo usermod -m -d [new_directory_path] [用户名]

更改用户的 Uid(用户标识符)

Uid(用户标识符)是 Linux 分配给每个用户的唯一数值。系统以唯一的身份识别用户 用户界面 分配给它。 UID 零被分配给 root 用户。

您可以使用以下命令更改用户的 UID。

句法:

sudo usermod -u [new_UID] 用户

例子:

使用以下命令检查用户 batman 的当前 uid id [用户] 命令。

gaurav@ubuntu:~$ id batman uid=1000(batman) gid=4(adm) groups=4(adm),30(dip)

batman 的 uid 现在是 1000。让我们把它改成 536 使用 用户模式-u 命令。

gaurav@ubuntu:~$ sudo usermod -u 536 batman [sudo] gaurav 的密码:gaurav@ubuntu:~$

现在,让我们再次使用以下命令检查用户 batman 的 uid id [用户] 命令

gaurav@ubuntu:~$ id batman uid=536(batman) gid=4(adm) groups=4(adm),30(dip) gaurav@ubuntu:~$

在这里我们可以看到用户 batman 的 uid 从 1000 更改为 536 使用 用户模式 ​​-u 命令。

使用用户帐户添加个人评论

让我们以用户“batman”为例。该用户在一个大办公室工作,他最近更改了他的工作电话号码和办公桌号码。因此,他可以使用 用户模式 ​​-c 命令。

句法:

sudo usermod -c "你的评论" 用户 

输出:

gaurav@ubuntu:~$ sudo usermod -c "Tony Stark, 405, 95985475" batman gaurav@ubuntu:~$ sudo grep 'batman' /etc/passwd batman:x:536:4:Tony Stark, 405, 95985477 var/hpq/:/bin/false gaurav@ubuntu:~$

这些变化将反映在 /etc/passwd 文件。

锁定/禁用用户

如果您希望限制某个用户访问系统,您可以通过锁定该特定用户的密码来实现。因此,即使用户尝试使用密码登录,他也不会被授予访问系统的权限。 ! 将在用户加密后的密码前添加符号 /etc/shadow 文件,意味着密码被禁用。

句法:

sudo usermod -L [用户]

输出:

gaurav@ubuntu:~$ sudo usermod -L batman gaurav@ubuntu:~$ sudo grep batman /etc/shadow batman:!:17612:0:99999:7::: gaurav@ubuntu:~$

解锁/启用用户

您可以轻松解锁/启用之前被禁用的用户的密码。你可以检查 /etc/shadow 更改文件。 ! 符号将从用户的加密密码中删除。

句法:

sudo usermod -U [用户]
gaurav@ubuntu:~$ sudo usermod -U batman gaurav@ubuntu:~$ sudo grep batman /etc/shadow batman:t:18511:0:99999:7::: gaurav@ubuntu:~$

更改用户外壳

GNU/Linux shell 是一种特殊的交互式实用程序。它为用户提供了一种方式来启动程序、管理文件系统上的文件以及管理在 Linux 系统上运行的进程。 shell 包含一组内部命令,用于控制诸如复制文件、移动文件、重命名文件、显示系统上当前运行的程序以及停止系统上运行的程序等操作。

您可以使用更改 shell 的用户 用户模式 ​​-s 命令。使用下面给出的语法。

句法:

sudo usermod -s /bin/sh [用户]
gaurav@ubuntu:~$ sudo usermod -s /bin/sh batman [sudo] gaurav 的密码:gaurav@ubuntu:~$ grep batman /etc/passwd batman:x:536:4:This is my demo account:/var /www/:/bin/sh

您可以使用验证更改 格雷普 命令如上面的输出所示。

设置用户到期日期

如果您希望某个用户帐户仅在特定时间段内使用,则可以为该用户帐户设置到期日期。到期日的格式为 YYYY-MM-DD.

句法:

usermod -e [YYYY-MM-DD] [用户]

要检查帐户的当前到期日期,请使用 chage -l [用户] 命令。

gaurav@ubuntu:~$ sudo chage -l batman [sudo] gaurav 的密码:上次更改密码:2020 年 9 月 6 日密码过期:从不密码不活动:从不帐户过期:从不更改密码之间的最小天数:0 最大次数密码更改间隔天数:99999 密码到期前警告天数:7 gaurav@ubuntu:~$ 

在上面的输出中,我们可以看到当前没有设置用户 batman 的到期日期。现在我们将使用 用户模式 ​​-e 命令为用户 batman 设置到期日期。

例子:

sudo usermod -e 2022-06-19 蝙蝠侠

现在我们将再次使用 chage -l [用户] 命令。

gaurav@ubuntu:~$ sudo chage -l batman [sudo] gaurav 的密码:上次密码更改:2020 年 9 月 6 日密码过期:从不密码不活动:从不帐户过期:2022 年 6 月 19 日密码更改之间的最小天数:0密码更改之间的最大天数:99999 密码到期前警告的天数:7 gaurav@ubuntu:~$ 

通过这种方式,我们将用户帐户“batman”的到期日期设置为 2022 年 6 月 19 日。

结论

在本教程中,我们已经看到了 用户模式 命令以全面的方式修改基本用户帐户数据。如果我们错过了什么,请随时与我们联系。

查看我们下面的其他文章以了解有关技术的更多信息。快乐学习!