本简要指南解释了如何在 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 目录是否已更改:
伟大的! 一切都变了。
有关更多详细信息 usermod
命令,请参阅其手册页:
$ man usermod
希望能帮助到你。