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 日。
结论
在本教程中,我们已经看到了 用户模式
命令以全面的方式修改基本用户帐户数据。如果我们错过了什么,请随时与我们联系。
查看我们下面的其他文章以了解有关技术的更多信息。快乐学习!