云网牛站
所在位置:首页 > Linux命令 > 在Linux系统中使用usermod命令设置用户帐户信息的方法

在Linux系统中使用usermod命令设置用户帐户信息的方法

2020-09-02 09:23:04作者:曾秀珠稿源:云网牛站

usermod是一个Linux系统中的命令行实用程序,可让您修改用户的登录信息。本文介绍的内容有:将用户添加到组,及更改用户的主要组、信息、主目录、默认Shell、UID、名称和设置用户到期日期、锁定和解锁用户帐户。

在Linux系统中使用usermod命令设置用户帐户信息的方法

 

usermod命令

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

usermod [options] USER

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

 

将用户添加到组

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

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

usermod -a -G GROUP USER

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

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

sudo usermod -a -G games ywnz

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

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

参考:用usermod、gpasswd、Shell script、Manual Method将用户添加到组

 

更改用户的主要组、信息、主目录、默认Shell、UID、名称

1、更改用户主要组

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

sudo usermod -g GROUP USER

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

usermod -g developers ywnz

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

2、更改用户信息

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

usermod -c "GECOS Comment" USER

这是显示如何向用户ywnz添加附加信息的示例:

usermod -c "Test User" ywnz

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

3、更改用户主目录

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

如果由于某种原因要更改用户的主目录,请通过-d选项跟随新主目录的绝对路径和用户名来调用usermod命令:

usermod -d HOME_DIR USER

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

usermod -d HOME_DIR -m USER

这是显示如何将用户www-data的主目录更改为/var/www的示例:

usermod -d /var/www www-data

4、更改用户默认Shell

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

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

usermod -s SHELL USER

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

sudo usermod -s /usr/bin/zsh ywnz

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

5、更改用户UID

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

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

usermod -u UID USER

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

sudo usermod -u 1050 ywnz

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

6、更改用户名称

尽管不是很经常,但有时您可能想要更改现有用户的名称,-l选项用于更改用户名:

usermod -l NEW_USER USER

在下面的示例中,我们将ywnz用户重命名为lisa到“1050”:

sudo usermod -l ywnz lisa

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

 

设置用户到期日期

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

sudo usermod -e DATE USER

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

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

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

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

sudo usermod -e "" ywnz

使用chage -l命令查看用户的到期日期:

sudo chage -l ywnz

在Linux系统中使用usermod命令设置用户帐户信息的方法

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

 

锁定和解锁用户帐户

-L选项允许您锁定用户帐户:

usermod -L USER

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

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

sudo usermod -L ywnz

sudo usermod -L -e 1 ywnz

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

usermod -U USER

注:介绍到这里,如何使用usermod命令设置用户帐户信息的内容就此结束了。

 

相关主题

使用passwd、usermod命令在Linux中锁定和解锁用户帐户

Linux命令子频道
精选文章
热门文章