Удалил себя из группы администраторов - теперь получаю ошибку usermod: cannot lock /etc/passwd; try again later [duplicate]

Возможный дубликат:
Не удается заблокировать '/etc/group' в режиме восстановления

У меня ноутбук с Ubuntu 11.10, который используется совместно мной и двумя другими членами семьи. Мой идентификатор пользователя был настроен как единственный "Администратор" на ноутбуке. Другие пользователи были настроены как "Стандартные" пользователи. Пытаясь добавить себя в группы пользователей для других пользователей, я каким-то образом удалил себя из групп администраторов. Я использовал команду "usermod" из терминала. Должно быть, я не указал нужные переключатели или синтаксис для обновления.

Похоже, что я успешно добавил свой userid в группу, связанную с учетной записью моей жены. Когда я использую команду "groups", я вижу в списке только мой id и id моей жены. Я больше не вижу группы "admin" или "adm" и другие, которые раньше были в списке. Когда я захожу в System Settings > User Accounts, кажется, что мой ID теперь указан как "Standard" пользователь. Я хотел бы изменить свою учетную запись обратно на "Администратор", но теперь не могу.

Я поискал несколько решений и обнаружил, что мне нужно загрузиться в Recovery Mode и выполнить команду usermod из root-сессии. Я смог успешно загрузиться в Recovery Mode и войти в корневую сессию. Я пытался выполнить команду "usermod -a -G admin user1", чтобы добавить мой id (user1) обратно в группу администраторов.

Когда я выполняю команду из корневой сессии, я получаю сообщение об ошибке "usermod: cannot lock /etc/passwd; try again later". Я попробовал предварять команду usermod командой "sudo", но это ничего не изменило, та же ошибка. Затем я попробовал добавить нового пользователя с помощью adduser, думая, что попытаюсь создать новое имя пользователя и сделать его частью группы admin. Я получил ту же ошибку при использовании команды adduser.

Я видел несколько сообщений, которые рекомендуют искать и удалять файлы, которые заканчиваются на ".lock" в каталоге etc. Единственный файл, который я нашел, был .pwd.lock, который я не трогал.

Я в растерянности, что делать дальше. Я относительно неопытен в Ubuntu и Linux, поэтому многое из этого для меня в новинку. Любая помощь, которую вы можете оказать, будет очень признательна.

11
задан 13 April 2017 в 05:24

4 ответа

Я наконец выяснил, почему я получал "usermod: не может заблокировать/etc/passwd; попробуйте еще раз позже" сообщение об ошибке. Первопричина проблемы имела отношение к тому, что, когда я загрузился в Режим Восстановления, по умолчанию файловая система была смонтирована как только для чтения. Поскольку файловая система была смонтирована как только для чтения, adduser и команды usermod не смогли выполнить их функции и произвели сообщение об ошибке.

Что получило меня думающий, что проблемой не было повреждение файла или *.lock, связанная проблема была то, что не было никаких passwd.lock, group.lock, или shadow.lock файлов в / и т.д. папка. Кроме того, я получил другое сообщение об ошибке, когда я пытался скопировать, переименуйте или удалите .pwd.lock файл, который был в / и т.д. папка, когда я был загружен в Корневую Сессию в Режиме Восстановления. Я заставил другое сообщение об ошибке, что-то как неспособный переименовывать файл, только для чтения. Я сделал некоторый веб-поиск на, "Восстанавливают Режим, Только для чтения", и столкнулся со следующим сообщением: http://www.linuxquestions.org/questions/linux-general-1/cannot-edit-fstab-in-recovery-mode-filesystem-is-read-only-540195/.

Сообщение говорит о Режиме Восстановления, находящемся в режиме только для чтения по умолчанию. Это предложило повторно монтироваться как чтение-запись, чтобы позволить изменениям быть сделанными в файлы в / и т.д. папкой. Таким образом, вот то, что я сделал для решения вопроса:

  1. Завершите работу компьютера
  2. Начальная загрузка в Режим Восстановления - После загрузки BIOS, удержите клавишу Shift, чтобы получить доступ к меню личинки - Однажды в меню личинки, выбрать запись, заканчивающуюся в" (режим восстановления)"
  3. Из следующего меню выбрал опцию ввести Корневую Сессию
  4. На корневой сессии выполните следующую команду для перемонтирования файловой системы как чтения-записи:

    mount -o remount,rw /
    
  5. Выполните команду adduser для добавления моего идентификатора пользователя назад к группе admin. Команда выполнила "adduser администратора имени пользователя", где я заменил имя пользователя своим фактическим системным именем пользователя. На этот раз я не получил ошибку при выполнении команды, так как файловая система была смонтирована как чтение-запись.

  6. Корневая Сессия выхода, выйдите из режима восстановления, и перезагруженный.

После того, как перезагруженный в Ubuntu, я видел, что мой идентификатор пользователя был теперь перечислен как являющийся членом группы admin путем выполнения команды "Groups" от нормального терминального сеанса. Я также проверил то же в GUI путем движения в "Учетные записи пользователей" в меню Ubuntu System Settings. Там мой идентификатор пользователя был также перечислен как "Администратор".

Я пошел далее, чтобы попытаться копировать мое первичное размещение, чтобы видеть, если перезагрузка назад к Режиму Восстановления и пропуск Шага № 4 выше (для перемонтирования файловой системы как чтения-записи) воспроизведут "не могущий заблокировать/etc/passwd" ошибка, и это сделало. Первопричина проблемы имела отношение, как файловая система была смонтирована в Режиме Восстановления.

Это кажется нечетным мне как новый пользователь, что начальная загрузка в Режим Восстановления была бы только для чтения по умолчанию. Разве это не идея восстановления, что необходимо было бы внести некоторые изменения для исправления файлов обновления, корректные проблемы, которые иначе не будут возможны как обычный пользователь?

Так или иначе я просто рад теперь иметь по крайней мере одного пользователя на компьютере с Доступом администратора. Еще раз спасибо всем, кто ответил на мою проблему.

19
ответ дан 23 November 2019 в 03:57

Можно попытаться сделать /etc/.pwd.lock пустой файл (nano /etc/.pwd.lock и удалите все), если это не, и использовать adduser your_user admin от корневой сессии для вставки пользователя назад в группу admin. Этот файл должен управлять доступом к /etc/passwd и /etc/shadow файлы, избегающие одновременных модификаций. Это должно быть пусто, если ни один из файлов не изменяется.

1
ответ дан 23 November 2019 в 03:57

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

0
ответ дан 23 November 2019 в 03:57

Необходимо действительно удалить тот файл блокировки с помощью консоли восстановления, хотя я думаю, что Вы могли, вероятно, сделать то же самое, просто войдя в режим суперпользователя с su - команда в терминале в рамках Вашей сессии обычного пользователя. Это, кажется, известная ошибка, хотя причиной, это появляется, является unkown. Проверьте этот отчет об ошибках на большее количество информации.

BTW, с помощью sudo на корневой сессии бессмыслен, потому что sudo просто выполняет команду с полномочиями пользователя root, и если Вы уже используете систему с корнем, Вы уже выполняете команды с полномочиями пользователя root.

0
ответ дан 23 November 2019 в 03:57

Другие вопросы по тегам:

Похожие вопросы: