Я неправильно указал имя пользователя при установке Ubuntu и хотел бы переименовать, если это возможно. Как мне безопасно сменить имя пользователя?
Используйте usermod
примерно так:
usermod -l newname currentname
безопасно? Не переименовывать вообще. Вместо этого (сначала убедитесь, что пользователь вышел из системы) создайте нового пользователя с правильным именем пользователя, переименуйте старый домашний каталог в новое имя пользователя и выберите -R папку для нового пользователя.
Это предполагает, что вы не используете зашифрованные дома. Это потребует некоторых других шагов, но так как я сам этого не сделал, я оставлю это кому-то другому.
Я имею, недавно стоит перед такой проблемой и получил рабочее решение.
Сделайте резервное копирование пользователей - и связанные с группами файлы
sudo cp /etc/passwd ~/passwd.bak
sudo cp /etc/group ~/group.bak
sudo cp /etc/subuid ~/subuid.bak
sudo cp /etc/subgid ~/subgid.bak
sudo cp /etc/gshadow ~/gshadow.bak
sudo cp /etc/shadow ~/shadow.bak
Мы должны загрузиться в режиме Recovery (нажмите Shift на начальную загрузку, в GRUB выбирают Расширенные настройки для Ubuntu, выбирают Ubuntu, с Linux... (режим восстановления)),
root Drop to root shell prompt
к корневой оболочке доступаВведите своего основного пользователя (обычно GID = 1000, член sudo группы) пароль здесь при выяснении
Press Enter for maintenance
(or press Control-D to continue):
Повторно смонтируйте все файловые системы с чтением и записью
mount -o rw,remount /
mount -o rw,remount /home
Переименуйте пользователя от old_user до new_user, переименуйте комментарий к имени пользователя (поле 5 дюймов /etc/passwd
) и переместите его дом
OLDNAME="old_user"
NEWNAME="new_user"
usermod -l $NEWNAME $OLDNAME -c $NEWNAME -d /home/$NEWNAME -m
Переименуйте группу пользователя от old_user до new_user
groupmod $OLDNAME -n $NEWNAME
Замените old_user к new_user в /etc/subgid
и /etc/subuid
sed -i "s/$OLDNAME/$NEWNAME/g" /etc/subuid
sed -i "s/$OLDNAME/$NEWNAME/g" /etc/subgid
Перезагрузите систему и затем войдите в систему с именем new_user и старым паролем. Дополнительно измените пароль с passwd
Если идет, право - удаляет поддержанные файлы:
sudo rm ~/passwd.bak ~/group.bak ~/subuid.bak ~/subgid.bak \
~/gshadow.bak ~/shadow.bak
Примечание: можно читать об используемых опциях usermod
и groupmod
на их страницах справочника.