Я удалил файл «/ etc / passwd» и не смог войти в [dубликат]

Эта ошибка была исправлена ​​в networkmanagement с commit:

commit 68ebd8231f942154cd743d4007b8ab9e8689808b
Author: Lamarque V. Souza <lamarque@gmail.com>
Date:   Mon Sep 12 21:52:11 2011 -0300

    Allow DSL connections be associated to ethernet interfaces.

    CCBUG: 204170

Ошибка восходящего потока: https://bugs.kde.org/show_bug.cgi?id=204170

Вы просто нужно обновить смену сетевого управления.

20
задан 13 July 2012 в 05:41

12 ответов

Нет, учитывая ваше описание, вы не потеряли ни одного из ваших файлов (кроме /etc/passwd, который вы удалили, но который вы скопировали).

Загрузите Live CD / DVD Ubuntu или живой USB-накопитель. Выберите Try Ubuntu (не Install Ubuntu). Когда рабочий стол загружается, откройте окно Nautilus (файл браузера). Вы можете найти раздел для вашей системы Ubuntu в разделе Devices. Нажмите на него, чтобы смонтировать его.

Теперь вы можете восстановить резервную копию. Однако вы должны сделать это как root. Вот простой способ сделать это.

Открыть окно терминала (Ctrl + Alt + T). В терминале введите cd и введите пробел, но не нажимайте Enter еще. В Nautilus найдите каталог etc внутри установленной системы Ubuntu. (Это не то же самое, что и каталог etc для живого компакт-диска. Каталог etc внутри установленной системы Ubuntu находится в только что смонтированном разделе.) Перетащите этот каталог etc в терминал, который вставляет его полный путь в терминал, выполнив команду cd .... Нажмите Enter, чтобы выполнить команду. Теперь вы находитесь в каталоге, в котором содержится ваш файл passwd. Я предполагаю, что ваш файл резервной копии, passwd_bkp, также находится здесь. Запустите эту команду: sudo cp passwd_bkp passwd

Это восстанавливает файл passwd из вашей резервной копии, поэтому теперь вы можете перезагрузиться, удалить CD / DVD или USB-флешку и вернуться в установленный Ubuntu. Ваша установленная система Ubuntu должна работать снова.

В будущем вы должны знать, что не рекомендуется вручную редактировать /etc/passwd, /etc/group, /etc/shadow, или /etc/gshadow. Вместо этого вы должны использовать утилиты, предоставляемые как часть Ubuntu, для внесения любых изменений, которые вам нужны для пользователей и групп в вашей системе. Вероятно, вы знаете, что вы можете редактировать это в System Settings или с помощью users-admin. Но для этого есть очень мощные утилиты командной строки, которые по-прежнему намного безопаснее и проще, чем вручную вручную редактировать файлы конфигурации. Вот документация по наиболее релевантным таким утилитам в Ubuntu:

adduser / addgroup deluser / delgroup usermod groupmod useradd (нижний уровень, чем adduser, вы обычно должны использовать adduser) userdel (нижний уровень, чем deluser, вы обычно должны использовать deluser) groupadd (нижний уровень, чем addgroup, вы обычно должны использовать addgroup вместо ) groupdel (более низкий уровень, чем delgroup, вы обычно должны использовать delgroup) passwd gpasswd pwck grpck

Вы можете изменить свое имя пользователя на некоторые из этих коммунальные услуги. Этот ответ объясняет один из способов в деталях. Тем не менее, вы должны знать (как в настоящее время затрагивается комментарий там), что некоторые приложения предполагают, что ваше имя пользователя остается прежним. Поэтому изменение имени пользователя может вызвать некоторые проблемы.

32
ответ дан 18 July 2018 в 15:03

Вы должны сначала прочитать ответ Элиа Кагана, прежде чем продолжить чтение этого ответа. Он объясняет, как справляться с ситуацией и почему обычно не нужно менять / etc / passwd вручную.

Во всяком случае, если вы действительно знаете, что делаете, и вам нужно отредактировать /etc/passwd вручную, вы может сделать это, но вы не должны просто менять файлы с помощью своего любимого редактора. Вместо этого есть инструмент

vipw

Из справочных страниц:

The vipw and vigr commands edits the files /etc/passwd and /etc/group, respectively. With the -s flag, they will edit the shadow versions of those files, /etc/shadow and /etc/gshadow, respectively. The programs will set the appropriate locks to prevent file corruption.

Например. если вы хотите изменить UID пользователей, насколько мне известно, редактировать файлы вручную, это единственный способ. Кроме того, если вы хотите изменить пароль пользователя, а затем вернуться к предыдущему, не зная об этом, с usermod нет. Но если вы сохраните хэшированный пароль из теневого файла, а затем измените пароль пользователя, вы можете впоследствии добавить хешированный пароль, снова редактируя теневой файл с помощью vipw -s.

2
ответ дан 18 July 2018 в 15:03

В качестве альтернативы загрузке livecd вы можете нажать e в меню grub, чтобы отредактировать запись режима спасения, и добавить init=/bin/sh к аргументам ядра. Это вернет вас к корневой оболочке, где вы можете скопировать файл резервной копии обратно в оригинал после повторной установки файловой системы read-write с помощью mount -o remount,rw /.

4
ответ дан 18 July 2018 в 15:03

Если вы можете войти, просто откройте терминал и попробуйте это:

sudo cp /etc/passwd- /etc/passwd sudo chmod 644 /etc/passwd

Else

Загрузитесь в режим восстановления или из Ubuntu live Cd. Затем смонтируйте старый диск:

mkdir /olddrive mount /dev/hda5 /olddrive assuming that your old drive is on /dev/hda5. then, cd to /olddrive/etc type: echo "root::0:0:Superuser:/:/bin/bash" > passwd

, затем перезагрузитесь. Это не установит пароль для root.

Затем вы можете войти в систему, снова создать все свои учетные записи и т. д.

Вы также можете использовать резервную копию, которая называется (я думаю) /etc/passwd-

Изменить: (еще один метод, который я не пробовал раньше, но я думаю, что он тоже должен работать)

Запустите GRUB при загрузке (нажмите Esc во время загрузки) Нажмите e over (режим восстановления) Нажмите e over строка, начинающаяся с ядра Нажмите пробел и введите init=/bin/bash Нажмите Enter Нажмите b В командной строке введите: cp /etc/passwd- /etc/passwd Перезагрузитесь в GRUB снова Нажмите e over (режим восстановления) Нажмите e по строке, начинающейся с ядра Нажмите «Пробел» и введите init=/bin/bash Нажмите Enter Нажмите b В командной строке введите mount -o remount,rw / Тип passwd YOURUSERNAMEHERE (Если вы не знаете свое имя пользователя ls /home (это нижний регистр L и нижний регистр S) для списка пользователей) Введите новый пароль в prompt Перезагрузите обычную загрузку.

Источник

-1
ответ дан 18 July 2018 в 15:03

Нет, учитывая ваше описание, вы не потеряли ни одного из ваших файлов (кроме /etc/passwd, который вы удалили, но который вы скопировали).

Загрузите Live CD / DVD Ubuntu или живой USB-накопитель. Выберите Try Ubuntu (не Install Ubuntu). Когда рабочий стол загружается, откройте окно Nautilus (файл браузера). Вы можете найти раздел для вашей системы Ubuntu в разделе Devices. Нажмите на него, чтобы смонтировать его.

Теперь вы можете восстановить резервную копию. Однако вы должны сделать это как root. Вот простой способ сделать это.

Открыть окно терминала (Ctrl + Alt + T). В терминале введите cd и введите пробел, но не нажимайте Enter еще. В Nautilus найдите каталог etc внутри установленной системы Ubuntu. (Это не то же самое, что и каталог etc для живого компакт-диска. Каталог etc внутри установленной системы Ubuntu находится в только что смонтированном разделе.) Перетащите этот каталог etc в терминал, который вставляет его полный путь в терминал, выполнив команду cd .... Нажмите Enter, чтобы выполнить команду. Теперь вы находитесь в каталоге, в котором содержится ваш файл passwd. Я предполагаю, что ваш файл резервной копии, passwd_bkp, также находится здесь. Запустите эту команду: sudo cp passwd_bkp passwd

Это восстанавливает файл passwd из вашей резервной копии, поэтому теперь вы можете перезагрузиться, удалить CD / DVD или USB-флешку и вернуться в установленный Ubuntu. Ваша установленная система Ubuntu должна работать снова.

В будущем вы должны знать, что не рекомендуется вручную редактировать /etc/passwd, /etc/group, /etc/shadow, или /etc/gshadow. Вместо этого вы должны использовать утилиты, предоставляемые как часть Ubuntu, для внесения любых изменений, которые вам нужны для пользователей и групп в вашей системе. Вероятно, вы знаете, что вы можете редактировать это в System Settings или с помощью users-admin. Но для этого есть очень мощные утилиты командной строки, которые по-прежнему намного безопаснее и проще, чем вручную вручную редактировать файлы конфигурации. Вот документация по наиболее релевантным таким утилитам в Ubuntu:

adduser / addgroup deluser / delgroup usermod groupmod useradd (нижний уровень, чем adduser, вы обычно должны использовать adduser) userdel (нижний уровень, чем deluser, вы обычно должны использовать deluser) groupadd (нижний уровень, чем addgroup, вы обычно должны использовать addgroup вместо ) groupdel (более низкий уровень, чем delgroup, вы обычно должны использовать delgroup) passwd gpasswd pwck grpck

Вы можете изменить свое имя пользователя на некоторые из этих коммунальные услуги. Этот ответ объясняет один из способов в деталях. Тем не менее, вы должны знать (как в настоящее время затрагивается комментарий там), что некоторые приложения предполагают, что ваше имя пользователя остается прежним. Поэтому изменение имени пользователя может вызвать некоторые проблемы.

32
ответ дан 24 July 2018 в 20:32
  • 1
    Огромное спасибо. Сегодня утром на юге Бразилии четверо часов ночи ... Я был так обеспокоен, что не мог спать. Я попробую это ... – joao rodrigo leao 7 June 2012 в 12:37
  • 2
    Если вы не сделали резервную копию, попробуйте использовать /etc/passwd- или /var/backups/passwd.bak. Обязательно установите правильные разрешения. Пример: sudo install -m644 /etc/passwd- /etc/passwd – Lekensteyn 27 January 2014 в 20:40

Вы должны сначала прочитать ответ Элиа Кагана, прежде чем продолжить чтение этого ответа. Он объясняет, как справляться с ситуацией и почему обычно не нужно менять / etc / passwd вручную.

Во всяком случае, если вы действительно знаете, что делаете, и вам нужно отредактировать /etc/passwd вручную, вы может сделать это, но вы не должны просто менять файлы с помощью своего любимого редактора. Вместо этого есть инструмент

vipw

Из справочных страниц:

The vipw and vigr commands edits the files /etc/passwd and /etc/group, respectively. With the -s flag, they will edit the shadow versions of those files, /etc/shadow and /etc/gshadow, respectively. The programs will set the appropriate locks to prevent file corruption.

Например. если вы хотите изменить UID пользователей, насколько мне известно, редактировать файлы вручную, это единственный способ. Кроме того, если вы хотите изменить пароль пользователя, а затем вернуться к предыдущему, не зная об этом, с usermod нет. Но если вы сохраните хэшированный пароль из теневого файла, а затем измените пароль пользователя, вы можете впоследствии добавить хешированный пароль, снова редактируя теневой файл с помощью vipw -s.

2
ответ дан 24 July 2018 в 20:32

В качестве альтернативы загрузке livecd вы можете нажать e в меню grub, чтобы отредактировать запись режима спасения, и добавить init=/bin/sh к аргументам ядра. Это вернет вас к корневой оболочке, где вы можете скопировать файл резервной копии обратно в оригинал после повторной установки файловой системы read-write с помощью mount -o remount,rw /.

4
ответ дан 24 July 2018 в 20:32
  • 1
    Вы уверены, что это сработает? Без /etc/passwd, нет пользователя, называемого root, и без пользователя с uid = 0 . Будут ли необходимые утилиты работать в этих необычных условиях? – Eliah Kagan 13 July 2012 в 05:58
  • 2
    @EliahKagan, всегда пользователь с uid = 0, так как это uid, с которого ядро ​​запускает первый процесс с. cp или mv не нужны / etc / passwd. – psusi 13 July 2012 в 06:19
  • 3
    это спасло мою тупую задницу! i ручное редактирование на / etc / shadow относительно материала crontab. Я не знал, что никто не путается с «тенью» .... Я думал, что я был f ** ckd, но благодарю Бога за @psusi .... Я отредактировал меню grub для восстановления add / bin / sh, как он сказал , последовали за его монтированием и просто скопировали shawdow из / var / backups по коррумпированному в / etc ... Хорошо, как новое .. спасибо – rowntreerob 25 March 2014 в 04:44

Если вы можете войти, просто откройте терминал и попробуйте это:

sudo cp /etc/passwd- /etc/passwd sudo chmod 644 /etc/passwd

Else

Загрузитесь в режим восстановления или из Ubuntu live Cd. Затем смонтируйте старый диск:

mkdir /olddrive mount /dev/hda5 /olddrive assuming that your old drive is on /dev/hda5. then, cd to /olddrive/etc type: echo "root::0:0:Superuser:/:/bin/bash" > passwd

, затем перезагрузитесь. Это не установит пароль для root.

Затем вы можете войти в систему, снова создать все свои учетные записи и т. д.

Вы также можете использовать резервную копию, которая называется (я думаю) /etc/passwd-

Изменить: (еще один метод, который я не пробовал раньше, но я думаю, что он тоже должен работать)

Запустите GRUB при загрузке (нажмите Esc во время загрузки) Нажмите e over (режим восстановления) Нажмите e over строка, начинающаяся с ядра Нажмите пробел и введите init=/bin/bash Нажмите Enter Нажмите b В командной строке введите: cp /etc/passwd- /etc/passwd Перезагрузитесь в GRUB снова Нажмите e over (режим восстановления) Нажмите e по строке, начинающейся с ядра Нажмите «Пробел» и введите init=/bin/bash Нажмите Enter Нажмите b В командной строке введите mount -o remount,rw / Тип passwd YOURUSERNAMEHERE (Если вы не знаете свое имя пользователя ls /home (это нижний регистр L и нижний регистр S) для списка пользователей) Введите новый пароль в prompt Перезагрузите обычную загрузку.

Источник

-1
ответ дан 24 July 2018 в 20:32

Нет, учитывая ваше описание, вы не потеряли ни одного из ваших файлов (кроме /etc/passwd, который вы удалили, но который вы скопировали).

Загрузите Live CD / DVD Ubuntu или живой USB-накопитель. Выберите Try Ubuntu (не Install Ubuntu). Когда рабочий стол загружается, откройте окно Nautilus (файл браузера). Вы можете найти раздел для вашей системы Ubuntu в разделе Devices. Нажмите на него, чтобы смонтировать его.

Теперь вы можете восстановить резервную копию. Однако вы должны сделать это как root. Вот простой способ сделать это.

Открыть окно терминала (Ctrl + Alt + T). В терминале введите cd и введите пробел, но не нажимайте Enter еще. В Nautilus найдите каталог etc внутри установленной системы Ubuntu. (Это не то же самое, что и каталог etc для живого компакт-диска. Каталог etc внутри установленной системы Ubuntu находится в только что смонтированном разделе.) Перетащите этот каталог etc в терминал, который вставляет его полный путь в терминал, выполнив команду cd .... Нажмите Enter, чтобы выполнить команду. Теперь вы находитесь в каталоге, в котором содержится ваш файл passwd. Я предполагаю, что ваш файл резервной копии, passwd_bkp, также находится здесь. Запустите эту команду: sudo cp passwd_bkp passwd

Это восстанавливает файл passwd из вашей резервной копии, поэтому теперь вы можете перезагрузиться, удалить CD / DVD или USB-флешку и вернуться в установленный Ubuntu. Ваша установленная система Ubuntu должна работать снова.

В будущем вы должны знать, что не рекомендуется вручную редактировать /etc/passwd, /etc/group, /etc/shadow, или /etc/gshadow. Вместо этого вы должны использовать утилиты, предоставляемые как часть Ubuntu, для внесения любых изменений, которые вам нужны для пользователей и групп в вашей системе. Вероятно, вы знаете, что вы можете редактировать это в System Settings или с помощью users-admin. Но для этого есть очень мощные утилиты командной строки, которые по-прежнему намного безопаснее и проще, чем вручную вручную редактировать файлы конфигурации. Вот документация по наиболее релевантным таким утилитам в Ubuntu:

adduser / addgroup deluser / delgroup usermod groupmod useradd (нижний уровень, чем adduser, вы обычно должны использовать adduser) userdel (нижний уровень, чем deluser, вы обычно должны использовать deluser) groupadd (нижний уровень, чем addgroup, вы обычно должны использовать addgroup вместо ) groupdel (более низкий уровень, чем delgroup, вы обычно должны использовать delgroup) passwd gpasswd pwck grpck

Вы можете изменить свое имя пользователя на некоторые из этих коммунальные услуги. Этот ответ объясняет один из способов в деталях. Тем не менее, вы должны знать (как в настоящее время затрагивается комментарий там), что некоторые приложения предполагают, что ваше имя пользователя остается прежним. Поэтому изменение имени пользователя может вызвать некоторые проблемы.

32
ответ дан 31 July 2018 в 23:34
  • 1
    Огромное спасибо. Сегодня утром на юге Бразилии четверо часов ночи ... Я был так обеспокоен, что не мог спать. Я попробую это ... – joao rodrigo leao 7 June 2012 в 12:37
  • 2
    Если вы не сделали резервную копию, попробуйте использовать /etc/passwd- или /var/backups/passwd.bak. Обязательно установите правильные разрешения. Пример: sudo install -m644 /etc/passwd- /etc/passwd – Lekensteyn 27 January 2014 в 20:40

Вы должны сначала прочитать ответ Элиа Кагана, прежде чем продолжить чтение этого ответа. Он объясняет, как справляться с ситуацией и почему обычно не нужно менять / etc / passwd вручную.

Во всяком случае, если вы действительно знаете, что делаете, и вам нужно отредактировать /etc/passwd вручную, вы может сделать это, но вы не должны просто менять файлы с помощью своего любимого редактора. Вместо этого есть инструмент

vipw

Из справочных страниц:

The vipw and vigr commands edits the files /etc/passwd and /etc/group, respectively. With the -s flag, they will edit the shadow versions of those files, /etc/shadow and /etc/gshadow, respectively. The programs will set the appropriate locks to prevent file corruption.

Например. если вы хотите изменить UID пользователей, насколько мне известно, редактировать файлы вручную, это единственный способ. Кроме того, если вы хотите изменить пароль пользователя, а затем вернуться к предыдущему, не зная об этом, с usermod нет. Но если вы сохраните хэшированный пароль из теневого файла, а затем измените пароль пользователя, вы можете впоследствии добавить хешированный пароль, снова редактируя теневой файл с помощью vipw -s.

2
ответ дан 31 July 2018 в 23:34

В качестве альтернативы загрузке livecd вы можете нажать e в меню grub, чтобы отредактировать запись режима спасения, и добавить init=/bin/sh к аргументам ядра. Это вернет вас к корневой оболочке, где вы можете скопировать файл резервной копии обратно в оригинал после повторной установки файловой системы read-write с помощью mount -o remount,rw /.

4
ответ дан 31 July 2018 в 23:34
  • 1
    Вы уверены, что это сработает? Без /etc/passwd, нет пользователя, называемого root, и без пользователя с uid = 0 . Будут ли необходимые утилиты работать в этих необычных условиях? – Eliah Kagan 13 July 2012 в 05:58
  • 2
    @EliahKagan, всегда пользователь с uid = 0, так как это uid, с которого ядро ​​запускает первый процесс с. cp или mv не нужны / etc / passwd. – psusi 13 July 2012 в 06:19
  • 3
    это спасло мою тупую задницу! i ручное редактирование на / etc / shadow относительно материала crontab. Я не знал, что никто не путается с «тенью» .... Я думал, что я был f ** ckd, но благодарю Бога за @psusi .... Я отредактировал меню grub для восстановления add / bin / sh, как он сказал , последовали за его монтированием и просто скопировали shawdow из / var / backups по коррумпированному в / etc ... Хорошо, как новое .. спасибо – rowntreerob 25 March 2014 в 04:44

Если вы можете войти, просто откройте терминал и попробуйте это:

sudo cp /etc/passwd- /etc/passwd sudo chmod 644 /etc/passwd

Else

Загрузитесь в режим восстановления или из Ubuntu live Cd. Затем смонтируйте старый диск:

mkdir /olddrive mount /dev/hda5 /olddrive assuming that your old drive is on /dev/hda5. then, cd to /olddrive/etc type: echo "root::0:0:Superuser:/:/bin/bash" > passwd

, затем перезагрузитесь. Это не установит пароль для root.

Затем вы можете войти в систему, снова создать все свои учетные записи и т. д.

Вы также можете использовать резервную копию, которая называется (я думаю) /etc/passwd-

Изменить: (еще один метод, который я не пробовал раньше, но я думаю, что он тоже должен работать)

Запустите GRUB при загрузке (нажмите Esc во время загрузки) Нажмите e over (режим восстановления) Нажмите e over строка, начинающаяся с ядра Нажмите пробел и введите init=/bin/bash Нажмите Enter Нажмите b В командной строке введите: cp /etc/passwd- /etc/passwd Перезагрузитесь в GRUB снова Нажмите e over (режим восстановления) Нажмите e по строке, начинающейся с ядра Нажмите «Пробел» и введите init=/bin/bash Нажмите Enter Нажмите b В командной строке введите mount -o remount,rw / Тип passwd YOURUSERNAMEHERE (Если вы не знаете свое имя пользователя ls /home (это нижний регистр L и нижний регистр S) для списка пользователей) Введите новый пароль в prompt Перезагрузите обычную загрузку.

Источник

1
ответ дан 31 July 2018 в 23:34

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

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