Как изменить имя пользователя администратора?

8

Я случайно ввел неправильное имя при создании учетной записи администратора. Хотя мне удалось изменить имя пользователя на экране входа в систему, я не могу переименовать его /home/oldusernameв /home/newusername. Я перепробовал большинство онлайн-уроков, но это не удалось.

Код, который я пробовал, был такой:

usermod -l newusername -m -d /home/newusername oldusername

Но вывод:

cannot lock /etc/passwd; try again later.

Как я могу исправить проблему и изменить папку на имя нового пользователя и ожидать, что все приложения будут работать как прежде?

Fazlan
источник
Вы запускаете эту команду от имени root?
Сет
нет в гостевой учетной записи .. имя, которое я пытаюсь изменить, является учетной записью root, я думаю.
Фазлан
root и администратор разные? Я не знаю
Fazlan
эй, я не понимаю, у вас есть доступ к учетной записи администратора / root ??
Хингев
1
Вы не можете использовать гостевую учетную запись для выполнения каких-либо административных задач.
user68186

Ответы:

8

Войдите через свой currentusername, откройте терминал и введите:

sudo passwd root

Введите пароль для учетной записи root, затем выйдите из системы, нажмите Ctrl+ Alt+, F1чтобы открыть текстовую консоль, войдите в систему как root (имя пользователя: root, пароль: «тот, который вы ввели выше») и запустите:

usermod -l newusername -m -d /home/newusername currentusername
exit

Нажмите Ctrl+ Alt+, F7чтобы вернуться в графическую консоль и войдите как newusername.

Чтобы изменить отображаемое имя пользователя (которое отображается на экране входа в систему), перейдите в « Настройки системы» -> « Учетные записи пользователей», затем щелкните отображаемое имя в правой части диалогового окна.

введите описание изображения здесь

Эрик Карвалью
источник
в нем говорится, что старое имя пользователя уже зарегистрировано
Fazlan
Ответ обновлен.
Эрик Карвалью
Я следовал вашим инструкциям и действительно имя пользователя было изменено. Если я смотрю с помощью Nautilus на Computer -> Home, я вижу только новое имя пользователя. Что еще странно, так это то, что когда я загружаюсь из выключенного компьютера, первоначальное имя пользователя все еще появляется на этапе входа в систему. Где еще хранится оригинальное имя?
Илан
@ Илан ответ обновлен.
Эрик Карвалью,
2

Вам нужно сделать это из режима восстановления.

Перезагрузитесь, выберите режим восстановления, затем перейдите в корневую консоль и введите команду там. Затем перезагрузите компьютер как обычно.

RolandiXor
источник
1

Первое простое решение, которое вы можете сделать, - это создать нового пользователя с нужным вам именем пользователя и добавить его в группу администраторов: / etc / sudoers

иначе вы можете сделать это с вашим старым именем пользователя (я проверял это на fedora):

# usermod -l new-username old-unername
Boubakr
источник
1
Возможно, вам придется добавить sudoперед этой строкой, как sudo usermod -l new-username old-unername, в Ubuntu.
user68186
Имя пользователя изменено, но имя папки остается прежним
Fazlan
#: означает, что у вас есть права доступа root, а $: означает, что вы простой пользователь.
Бубакр
1

Я бы создал новую учетную запись и скопировал бы все ваши файлы. Это, наверное, самый идиотостойкий метод.

Аарон
источник
1

Изменение имен пользователей приведет к неизбежным проблемам. Многие программы будут пытаться читать и записывать данные из старого каталога, которого там больше нет. Создание новой учетной записи и копирование всех старых папок кажется хорошей идеей. Я считаю, что есть и другие проблемы.

Но это отвечает на вопрос, где предыдущие комментарии не помогли мне.

Простой вход в систему под учетной записью 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

Как говорили другие в других местах, ожидайте проблем при смене имени пользователя, так как многие программы будут пытаться делать такие вещи, как поиск или сохранение данных приложения в папке вашего старого имени пользователя, которой больше нет.

Скотт Робертс
источник