如何在 Linux 中正确更改用户名

本简要指南解释了如何在 Linux 操作系统中正确更改用户名。 不仅是用户名,本指南还描述了如何将主机名、用户组、主目录以及该目录的所有权和组更改为新用户,以及所有文件。

介绍

前几天我下载了 Fedora 33 vagrant box 并使用 libvirt/kvm 提供者。 您可能已经知道,所有 vagrant box 都带有一个名为的默认用户 "vagrant". vagrant box 的默认主机名是 localhost. 我更改了用户名和主机名 Fedora 用于更好地访问网络的虚拟机。 如果您一直在寻找一种正确的方法来更改 Linux 中的用户名,而不会弄乱现有的配置文件,这里是方法。

在Linux中更改用户名的正确方法

更改主机名 Fedora 和其他 Linux 发行版很容易!

以其他身份登录 sudo 用户或 root 用户。 因为您无法更改当前登录用户的用户名。 我登录为 root 用户。

使用 hostnamectl 命令如下:

# hostnamectl set-hostname fedora33

上述命令将旧主机名更改为 “fedora33”. 注销并重新登录以应用更改。 您现在将看到在 shell 提示符中更新了主机名。 您也可以使用 hostname 命令:

# hostname
fedora33

这里是主要部分。 现在我要将用户名从“vagrant”更改为“ostechnix”。 为此,我使用命令创建了一个名为“ostechnix”的新组:

# groupadd ostechnix

出于本指南的目的,我为用户和组使用了相同的名称。 如果需要,您可以使用不同的名称。

最后使用 usermod 命令如下:

# usermod -d /home/ostechnix -m -g ostechnix -l ostechnix vagrant

让我们分解上面的命令,看看每个选项的作用。

  • usermod :在类 Unix 系统中修改用户帐户的命令。
  • -d /home/ostechnix : 创建一个新的 $HOME 用户的目录。
  • -m : 移动老用户的内容 $HOME 目录到新位置。
  • -g ostechnix :将新用户添加到名为的组中 "ostechnix".
  • -l ostechnix vagrant : 更改用户名 "vagrant""ostechnix". 即“vagrant”是旧用户名,“ostechnix”是新用户。

上述命令将用户名、用户组、$HOME 目录以及该目录的所有权和组更改为新用户,以及所有用户的文件和目录。

最后, 分配 sudo 新用户的权限 使用命令:

# usermod -aG wheel ostechnix

如果你使用的是基于 Debian 的系统,比如 Ubuntu,你可以 授予 sudo 对用户的权限 使用这个命令:

$ sudo usermod -aG sudo ostechnix

现在退出 root 用户并以新用户身份登录。

验证主机名、用户名和 $HOME 目录是否已更改:

检查用户名和主机名 Fedora

伟大的! 一切都变了。

有关更多详细信息 usermod 命令,请参阅其手册页:

$ man usermod

希望能帮助到你。