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

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

介绍

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

注意事项:

我不建议在生产系统中更改用户名。 最好只创建一个新用户而不是重命名现有用户。 因为如果旧用户的主目录被其他一些配置文件引用,则重命名用户名会导致很多问题。 您最终可能会更改许多服务使用的配置文件。 也不要这样做,如果你 $HOME 目录已加密!. 所以我建议您创建一个新用户并将旧用户的数据移动到新用户。 如果它是新安装的系统或只是测试系统,您可以继续更改用户名,如下所述。

在 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

如果你在像 Ubuntu 这样基于 Debian 的系统上,你可以 授予 sudo 给用户的权限 使用这个命令:

$ sudo usermod -aG sudo ostechnix

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

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

检查用户名和主机名 Fedora

伟大的! 一切都变了。

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

$ man usermod

希望能帮助到你。

LinuxLinux基础Linux命令Linux提示Linux用户管理用户管理