У меня есть пользователь с именем hedgehog
и я хочу, чтобы его назвали squirrel
, но я не хочу менять его числовой идентификатор пользователя.
Как я могу этого добиться?
Под Linux usermod
команда меняет имена пользователей. Он изменяет файлы системной учетной записи, чтобы отразить изменения, указанные в командной строке.
Чтобы изменить только имя пользователя:
usermod --login new_username old_username
Чтобы изменить имя пользователя и имя домашнего каталога:
usermod --login new_username --move-home --home path_to_the_new_home_dir old_username
Вы также можете изменить имя группы, связанной с пользователем:
groupmod --new-name new_username old_username
НОТА: не пытайтесь это сделать, если ваш каталог зашифрован! Если это ваш случай, вы можете сначала проверить: https://askubuntu.com/questions/107410/can-you-unencrypt-remove-encryption-from-a-user-home-folder
Самый простой способ сделать это:
Создайте новую временную учетную запись с правами sudo:
sudo adduser temp
sudo adduser temp sudo
Выйдите из своей текущей учетной записи и снова войдите с временной учетной записью.
Переименуйте свое имя пользователя и каталог:
sudo usermod -l new-username -m -d /home/new-username old-username
Переименуйте группу по умолчанию для вашего имени пользователя:
sudo groupmod -n new-username old-username
Выйдите из временной учетной записи и войдите в свою учетную запись с новым именем пользователя.
Удалить временную учетную запись:
sudo userdel -r temp
В противном случае вы просто (1) создаете нового пользователя и (2) rsync
из домашней папки старого пользователя в новую, а затем (3) chown
Это.
Обычно вы можете переименовать пользователя, изменив его имя пользователя в /etc/passwd
(и /etc/shadow
, если применимо) файлы. В большинстве систем unix vipw
команда используется для редактирования этих файлов (и во многих системах включает некоторые меры предосторожности, чтобы вы не испортили вещи слишком сильно).
См. Справочные страницы для passwd(5)
, shadow(5)
, и vipw(8)
Чтобы получить больше информации.
Обратите внимание, что приведенный выше метод не переименовывает другие объекты, которые могут иметь исходное имя пользователя (главным примером являются домашние каталоги, а также личные группы для каждого пользователя (в системах, которые их используют)). Вы можете также очистить их для обеспечения согласованности, изменив соответствующие поля в файле passwd и переименовав каталоги.
Некоторые операционные системы предоставляют способ переименования пользователей в зависимости от системы. Например, многие системы Linux включают usermod(8)
команда, а в AIX вы можете изменить имена учетных записей, используя СМИТ (или smitty
в терминале).
Эти команды часто обрабатывают такие элементы очистки, как переименование домашних каталогов, если вы их попросите.