Linux 中的 usermod 命令及示例 - Linux 命令行教程
Linux中的usermod命令用于修改用户帐户。特别是,它用于更改已创建帐户的各种属性,因为在 Linux 上创建全新帐户时使用单独的命令。
Linux 系统的大多数用户,尤其是管理员,最终都会遇到需要进行一些用户帐户管理的情况。这可能包括从系统中添加或删除用户,或者将用户添加到组中以及从组中删除用户。
在本指南中,您将通过示例了解如何在 Linux 中使用 usermod 命令。请按照下面的说明了解可与此命令一起使用的各种选项。
在本教程中您将学习:
如何在 Linux 上使用 usermod 命令
常用选项
usermod 命令允许我们修改 Linux 上用户帐户的某些属性。大多数人在需要向组中添加或删除用户时都会第一次接触到此命令,但是您还可以使用 usermod 命令执行更多操作。请参阅下面的一些最常见的示例。
Linux 中的 usermod 命令基本示例
如果您想将现有用户帐户添加到组中,可以使用
-a
和-G
选项来完成。对于许多系统管理员来说,这是 usermod 命令最常见的用法之一。检查以下命令,我们将“linuxconfig”添加到“sambashare”组。请注意此处的语法,这有点棘手,因为您需要指定组名,然后指定用户名。# usermod -a -G sambashare linuxconfig
要将现有用户同时添加到多个组,请使用与上述相同的语法,同时用逗号分隔每个组名称。检查此示例,其中我们将 linuxconfig 添加到另外三个组,然后验证它是否成功。
# usermod -a -G adm,dip,lxd linuxconfig # groups linuxconfig linuxconfig : linuxconfig adm cdrom dip plugdev lxd sambashare
usermod 命令的另一个常见用途是使用
-L
选项锁定用户的帐户。实际上,它的作用是在/etc/shadow
文件中的加密密码前面放置一个!
,从而有效地禁用密码。# usermod -L linuxconfig
要解锁用户帐户(这将删除
/etc/shadow
中的!
字符),请使用-U
选项。# usermod -U linuxconfig
如果您希望用户帐户在某一天过期,可以在 Linux 上将
-e
选项与 usermod 命令结合使用。您需要以 YYYY-MM-DD 形式指定日期格式。# usermod -e 2023-01-15 linuxconfig
如果您需要禁用帐户的到期日期,请运行相同的命令,但在
-e
选项后使用空白日期""
。# usermod -e "" linuxconfig
您还可以使用 usermod 命令通过
-l
选项更改帐户的用户名。如果您决定这样做,建议您考虑更改用户的主目录以对应于他们的新用户名,但我们将在下一个示例中介绍这一点。此命令会将用户名linuxconfig
更改为luke
。# usermod -l luke linuxconfig
接下来,让我们更改
luke
的主目录,将其设置为/home/luke
。您将使用-d
选项进行更改,但提供-m
选项也会创建新目录(如果该目录尚不存在),并且它'会将用户的所有内容从旧主目录移动到新目录。# usermod -d /home/luke -m luke
注意
您始终可以使用 man 命令来阅读有关 usermod 命令及其官方文档的更多信息。单击上一个链接可查看如何打开 Linux 系统上任何命令的手册页。
高级用法
usermod 命令非常简单,但它包含很多选项。其中许多选项都不太引人注目,甚至一些经验丰富的系统管理员也可能不知道它们。然而,它们绝对可以在各种情况下派上用场。在本指南的这一部分中,我们将向您展示 usermod 命令的一些鲜为人知的选项,但我们认为这些选项很有用。
Linux 高级示例中的 usermod 命令
将
-s
选项与 usermod 一起使用,以便为用户指定默认 shell。这将是他们每次登录系统时都会看到的 shell。在大多数 Linux 系统上,默认情况下这将是 Bash shell。因此,在本例中,我们将 zsh shell 设置为用户 linuxconfig 的默认 shell。# usermod -s /usr/bin/zsh linuxconfig
-c
选项可用于更改用户的名称(不是用户名)。此信息存储在/etc/passwd
文件内,并且可以被系统中的各种程序引用。在此示例中,我们将 Luke Reynolds 设置为帐户 linuxconfig 的名称。# usermod -c "Luke Reynolds" linuxconfig
Linux 系统上的每个用户在首次创建时都会获得一个唯一的 ID。可以使用 usermod 命令和
-u
选项来更改此数字。例如,我们将用户linuxconfig
的UID设置为100
。用户的邮箱以及用户拥有的以及位于用户主目录中的任何文件的文件用户 ID 将自动更改。用户主目录之外的文件的所有权必须手动修复。# usermod -u 100 linuxconfig
结束语
在本指南中,我们了解了有关 Linux 上的 usermod 命令的所有信息。这是用于修改 Linux 系统上用户帐户各个方面的主要命令。它的一些最常见用途是将用户添加到组或锁定用户帐户。正如您在本指南中所看到的,它包含有用的选项,使其成为在 Linux 上管理用户帐户时必须了解的重要命令。