Unix-подобные операционные системы отделяют имя пользователя от идентификатора пользователя, поэтому вы можете безопасно изменить имя, не влияя на идентификатор. Все разрешения, файлы и т.д. привязаны к вашей личности (uid), а не к вашему имени пользователя.
Для управления всеми аспектами пользовательской базы данных вы используете usermod
инструмент.
Чтобы сменить имя пользователя (вероятно, лучше всего сделать это без входа в систему):
sudo usermod -l newUsername oldUsername
Это, однако, не переименовывает домашнюю папку.
Чтобы изменить домашнюю папку, используйте
sudo usermod -d /home/newHomeDir -m newUsername
после того, как вы сменили имя пользователя.
Например, вы могли бы выйти из системы, перейти к консоли (Ctrl+Alt+F1), и sudo su -
чтобы стать истинным корнем (в отличие от sudo -s
, где $HOME по-прежнему /home/yourname.) Возможно, вам также придется сначала убить некоторые все еще запущенные процессы от этого пользователя. Для этого введите ps -u username
, найдите соответствующий PID и убейте их с помощью kill PID-number
.
Обновление: как уже упоминалось, некоторые файлы могут ссылаться на ваш старый домашний каталог. Вы можете либо сохранить символическую ссылку для обратной совместимости, например ln -s /home/newname /home/oldname
или вы можете изменить содержимое файла с помощью sed -i.bak 's/*oldname*/*newname*/g' *list of files*
Он создает резервную копию для каждого файла с расширением .bak.
Некоторая дополнительная информация для не очень опытных пользователей, таких как я:
Поскольку у меня есть только ОДНА учетная запись пользователя (администратор), это не позволило бы мне изменить имя пользователя ("вы уже вошли в систему" был ответ в TTY1 (Ctrl+Alt+F1). Чтобы обойти это:
-
Войдите в систему со своими старыми учетными данными и добавьте нового пользователя, например, "временный" в TTY1:
sudo adduser temporary
установите пароль.
-
Разрешить временному пользователю запускать sudo, добавив пользователя в группу sudo:
sudo adduser temporary sudo
- Выйдите из системы с помощью команды
exit
.
- Вернитесь к tty1: Войдите в систему с помощью "временной" учетной записи пользователя и пароля. Измените свое имя пользователя и папку, как указано выше.
exit
(пока вы не получите приглашение для входа в систему)
- Вернитесь к TTY7 (Ctrl+Alt+F7), чтобы войти в систему на экране GUI / обычного рабочего стола и посмотреть, работает ли это.
-
Удалить временного пользователя и папку:
sudo deluser temporarysudo rm -r /home/temporary