Я случайно ввел неправильное имя при создании учетной записи администратора. Хотя мне удалось изменить имя пользователя на экране входа в систему, я не могу переименовать /home/oldusername
в /home/newusername
. Я перепробовал большинство онлайн-уроков, но это не удалось.
Код, который я пробовал, был такой:
usermod -l newusername -m -d /home/newusername oldusername
Но вывод:
cannot lock /etc/passwd; try again later.
Как я могу исправить проблему и изменить папку на newusername и ожидать все приложения работать как раньше?
Первое простое решение, которое вы можете сделать, - это создать нового пользователя с нужным вам именем пользователя и добавить его в группу администраторов: / etc / sudoers
другим способом. Вы можете сделать это со своим старым именем пользователя (я проверял это на fedora):
# usermod -l new-username old-unername
Войдите в систему с помощью currentusername
, откройте терминал и введите:
sudo passwd root
Введите пароль для учетной записи root, затем выйдите из системы, нажмите Ctrl kbd> + Alt kbd> + F1 kbd>, чтобы открыть текстовую консоль, войдите в систему как root (имя пользователя: root, пароль: «тот, который вы ввели выше») и выполните:
usermod -l newusername -m -d /home/newusername currentusername
exit
Нажмите Ctrl kbd> + Alt kbd> + F7 kbd> для возврата в графическую консоль и входа в систему как newusername
.
Чтобы изменить отображаемое имя пользователя (отображаемое на экране входа в систему), перейдите к Системные настройки -> Учетные записи пользователей , затем щелкните отображаемое имя справа сторона диалога.
Это нужно сделать в режиме восстановления.
Перезагрузитесь, выберите режим восстановления, затем перейдите в корневую консоль и введите команду там. Затем перезагрузите компьютер как обычно.
Изменение имен пользователей приведет к неизбежным проблемам. Многие программы будут пытаться читать и записывать данные из старого каталога, которого там больше нет. Создание новой учетной записи и копирование всех старых папок кажется хорошей идеей. Я считаю, что есть и другие проблемы.
Но это отвечает на вопрос, где предыдущие комментарии не помогли мне.
Простой вход в систему под учетной записью root может не сработать, поскольку у моего старого имени пользователя были активные процессы. Так что я сделал, как другие сказали, и перезагрузился в режиме восстановления. Но затем я получил сообщение об ошибке, которое упоминает оригинальный автор. Как выяснилось здесь , это потому, что диск доступен только для чтения в режиме восстановления, поэтому вы должны сделать его доступным для чтения и записи.
Краткое исправление:
sudo passwd root # assign a password
reboot # into recovery mode and log in as root
Удерживайте нажатой клавишу Shift во время загрузки, если меню grub не отображается. Войдите в систему как root и войдите в shell.
mount -o remount,rw / # make the disk writable
usermod -l <newname> -d /home/<newname> -m <oldname>
passwd -l root # deactivate the root password
reboot
Ваше старое имя пользователя будет именем входа, но оно все равно позволит вам войти. Чтобы исправить это, отредактируйте файл с помощью команды ниже и найдите строку, в которой ваше новое и старое имя пользователя находятся в одной строке. и замените старую на новую:
sudo nano /etc/passwd
Как говорили другие в других местах, следует ожидать проблем при смене имени пользователя, так как многие программы будут пытаться делать такие вещи, как поиск или сохранение данных приложения в вашем старом Папка с именем пользователя, которого там больше нет.
Я хотел бы создать новую учетную запись и скопировать все ваши файлы. Это, наверное, самый идиотский метод защиты.