Как правильно изменить имя пользователя в Linux
В этом кратком руководстве объясняется, как правильно изменить имя пользователя в операционной системе Linux. В этом руководстве также описывается, как изменить имя хоста, группу пользователей, домашний каталог, а также владельца и группу этого каталога для нового пользователя, а также все файлы.
Введение
Несколько дней назад я загрузил бродячую коробку Fedora и развернул ее с помощью поставщика libvirt/kvm
. Как вы, возможно, уже знаете, все бродячие ящики имеют пользователя по умолчанию с именем "vagrant"
. А имя хоста по умолчанию для бродячего ящика — localhost
. Я изменил имя пользователя и имя хоста на виртуальной машине Fedora для улучшения доступа в сети.
Если вы когда-нибудь ищете правильный способ изменить имя пользователя в Linux, не испортив существующие файлы конфигурации, вот как это сделать.
Примечание:
Я бы не рекомендовал менять имя пользователя в производственной системе. Всегда лучше просто создать нового пользователя, а не переименовывать существующего. Потому что переименование имени пользователя вызовет много проблем, если на домашний каталог старого пользователя ссылаются некоторые другие файлы конфигурации. В конечном итоге вы можете изменить файлы конфигурации, используемые многими службами. Также не делайте этого, если ваш каталог $HOME зашифрован!. Поэтому я рекомендую вам создать нового пользователя и перенести данные старого пользователя на нового. Если это только что установленная система или просто тестируемая система, вы можете изменить имя пользователя, как описано ниже.
Правильный способ изменить имя пользователя в Linux
Изменить имя хоста в Fedora и других дистрибутивах Linux очень просто!
Войдите в систему как другой пользователь sudo
или root
. Потому что вы не можете изменить имя пользователя, вошедшего в систему в данный момент. Я вошел в систему как пользователь root
.
Измените текущее имя хоста с помощью команды hostnamectl
, как показано ниже:
hostnamectl set-hostname fedora33
Приведенная выше команда меняет старое имя хоста на "fedora33". Выйдите из системы и войдите снова, чтобы применить изменения. Теперь вы увидите, что имя хоста обновлено в командной строке. Вы также можете проверить это с помощью команды 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
Надеюсь, поможет.