usermod 是一个命令行实用程序,允许您修改用户的登录信息。本文介绍了如何使用usermod命令添加用户到组,更改用户shell、登录名、主目录等。

1、usermod 命令

该usermod命令的语法采用以下形式:

usermod [options] USER

只有root或具有sudo访问权限的用户才能调用usermod和修改用户帐户。成功后,该命令将不显示任何输出。

2、将用户添加到组

usermod最典型的用例是将一个用户添加到一个组。

要将现有用户添加到辅助组,请使用-a -G选项,然后是组名和用户名:

usermod -a -G GROUP USER

如果要一次将用户添加到多个组中,请在-G选项后指定组,并用,(逗号)隔开,中间不要有空格。

例如,要将用户a5idc添加到games组,您将运行以下命令:

sudo usermod -a -G games a5idc

将用户添加到新组时,请始终使用-a(追加)选项。如果你省略了-a选项,用户将从-G选项后未列出的组中删除。

如果该用户或组不存在,该命令将警告您。

3、更改用户主要组

要改变用户的主组,调用usermod命令,在组名和用户名后面加上-g选项:

sudo usermod -g GROUP USER

在以下示例中,我们将用户a5idc主要组更改为developers:

usermod -g developers a5idc

每个用户可以完全属于一个主要组和零个或多个次要组。

4、更改用户信息

要更改GECOS(用户的全名)信息,请运行带有-c选项的命令,后跟新的注释和用户名:

usermod -c "GECOS Comment" USER

下面是一个例子,说明如何为用户a5idc添加附加信息:

usermod -c "Test User" a5idc

此信息存储在/etc/passwd文件中。

5、更改用户主目录

在大多数Linux系统中,用户的主目录是以用户的名字命名的,并创建在/home目录下。

如果出于某种原因,你想改变用户的主目录,可以使用usermod命令,在-d选项后面加上新主目录的绝对路径和用户的名字:

usermod -d HOME_DIR USER

默认情况下,该命令不会将用户主目录的内容移动到新目录。要移动内容,使用-m选项。如果新目录还不存在,就会被创建:

usermod -d HOME_DIR -m USER

下面是一个例子,说明如何将用户www-data的主目录改为/var/www:

usermod -d /var/www www-data

6、更改用户默认的Shell

默认的Shell程序是登录系统后运行的Shell程序。默认情况下,在大多数Linux系统上,默认Shell程序设置为Bash Shell。

要更改用户的默认Shell程序,请运行命令,并-s在Shell程序的绝对路径和用户名后加上以下选项:

usermod -s SHELL USER

在下面的示例中,我们将用户外壳更改为Zsh:

sudo usermod -s /usr/bin/zsh a5iddc

您可以通过显示/etc/shells文件内容来找出系统上可用的Shell 。

7、更改用户UID

UID(用户标识符)是分配给每个用户的号码。操作系统使用它来引用用户。

要更改用户UID,请-u在新的UID和用户名后使用以下选项调用命令:

usermod -u UID USER

下面的示例显示如何将“UID”数字更改为“1050”:

sudo usermod -u 1050 a5idc

用户拥有的文件的UID位于用户的主目录中,并且用户的邮箱文件将自动更改。所有其他文件的所有权必须手动更改。

8、变更使用者名称

虽然并不常见,但有时你可能会想改变一个现有用户的名字。选项-l是用来改变用户名的:

usermod -l NEW_USER USER

在下面的例子中,我们将用户a5idc改名为lisa,为 "1050":

sudo usermod -l a5idc lisa

更改用户名时,您可能还希望更改用户的主目录以反映新的用户名。

8、设置用户到期日期

到期日期是将禁用用户帐户的日期。要设置用户的到期日期,请使用以下-e选项:

sudo usermod -e DATE USER

到期日期必须使用格式设置YYYY-MM-DD。

例如,要在a5idc上禁用用户2022-02-21,您可以运行以下命令:

sudo usermod -e "2022-02-21" a5idc

要禁用帐户的到期时间,请设置一个空的到期日期:

sudo usermod -e "" a5idc

使用以下chage -l命令查看用户的到期日期。

到期日期存储在/etc/shadow文件中。

9、锁定和解锁用户帐户

该-L选项使您可以锁定用户帐户:

usermod -L USER

这些命令会在加密后的密码前面插入一个感叹号(!) 。当/etc/shadow文件中的密码字段包含感叹号时,用户将无法使用密码认证登录系统。其他登录方式,如基于密钥的认证或切换到用户,仍然是允许的。如果你想锁定账户并禁用所有登录方式,还需要将有效期设置为1。

以下示例显示了如何锁定用户a5idc:

sudo usermod -L a5idc

sudo usermod -L -e 1 a5idc

要解锁用户,请运行usermod以下-U选项:

usermod -U USER

至此,我们已经向您展示了如何使用该usermod命令来设置用户帐户信息,希望对您有所帮助。

Logo

更多推荐