Я пытался изменить свое имя пользователя, а также домашний каталог ( /home/username
), и моя система начала падать. Я удалил passwd
файл, но у меня была резервная копия passwd_bkp
. Я попытался переименовать это passwd_bkp
как, passwd
и это не сработало. Никакие команды не выполнялись ... Я был в окне терминала.
Я перезапустил свою систему и теперь не могу войти в систему. GRUB предлагает две опции: Linux и режим восстановления.
Я пытался открыть сеанс как root, но он говорит, что файловая система повреждена. Я не могу получить доступ к своим файлам.
Я потерял все мои файлы?
login
authentication
users
passwd-file
Жоао Родриго Лео
источник
источник
/etc/passwd
файла , также невозможно восстановить пароль. Вы должны восстановить (или воссоздать)passwd
файл. И как только это будет сделано, как правило, нет необходимости сбрасывать пароль.Ответы:
Нет, учитывая ваше описание, вы не потеряли ни один из ваших файлов (кроме тех
/etc/passwd
, которые вы удалили, но которые вы создали резервную копию).Загрузите Ubuntu Live CD / DVD или USB флэш-накопитель. Выберите
Try Ubuntu
(неInstall Ubuntu
). Когда загрузится рабочий стол, откройте окно Nautilus (файловый браузер). Вы можете найти раздел для вашей системы Ubuntu в разделеDevices
. Нажмите на него, чтобы установить его.Теперь вы можете восстановить резервную копию. Вы должны сделать это как корень, однако. Вот один довольно простой способ сделать это.
Откройте окно терминала ( Ctrl+ Alt+ T). В Терминале введите
cd
и введите Spaceключ, но пока не нажимайте Enter.В Nautilus найдите
etc
каталог внутри установленной системы Ubuntu. (Это не то же самое, чтоetc
каталог для live CD.etc
Каталог внутри установленной системы Ubuntu находится в только что смонтированном разделе.)Перетащите этот
etc
каталог в Терминал, который вставит его полный путь в Терминал, выполнивcd ...
команду.Нажмите Enterдля запуска команды. Теперь вы находитесь в каталоге, в котором содержится ваш
passwd
файл. Я предполагаю, что ваш файл резервной копииpasswd_bkp
, также находится здесь.Запустите эту команду:
Это восстановит
passwd
файл из вашей резервной копии, так что теперь вы сможете перезагрузить компьютер, вынуть CD / DVD или USB-флеш-накопитель и снова загрузиться в установленную систему Ubuntu. Ваша установленная система Ubuntu должна снова работать.В будущем, вы должны знать , что не рекомендуется редактировать вручную
/etc/passwd
,/etc/group
,/etc/shadow
, или/etc/gshadow
. Вместо этого вы должны использовать утилиты, предоставляемые как часть Ubuntu, чтобы вносить любые необходимые изменения в пользователей и группы в вашей системе. Вы, вероятно, знаете, что вы можете изменить это в Системных настройках или с помощью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
Вы можете изменить свое имя пользователя с помощью некоторых из этих утилит. Этот ответ объясняет один способ в деталях. Однако вы должны знать (как в настоящее время затрагивается комментарием там), что некоторые приложения предполагают, что ваше имя пользователя остается прежним. Таким образом, изменение вашего имени пользователя может вызвать некоторые проблемы.
источник
/etc/passwd-
или/var/backups/passwd.bak
. Обязательно установите правильные разрешения. Пример:sudo install -m644 /etc/passwd- /etc/passwd
В качестве альтернативы загрузке livecd вы можете нажать
e
в меню grub, чтобы отредактировать запись режима восстановления и добавитьinit=/bin/sh
к аргументам ядра. Это перенесет вас прямо в корневую оболочку, где вы сможете скопировать файл резервной копии обратно в оригинал после перемонтирования файловой системы с возможностью чтения-записиmount -o remount,rw /
.источник
/etc/passwd
, нет пользователь называется корнем, и ни один пользователь с UID = 0 . Будут ли необходимые утилиты работать в таких необычных условиях?cp
илиmv
не нужно / etc / passwd.Прежде чем продолжать читать этот ответ, вы должны прочитать ответ Элии Кагана. Он объясняет, как справиться с ситуацией и почему обычно нет необходимости изменять / etc / passwd вручную.
В любом случае, если вы действительно знаете, что делаете, и вам нужно отредактировать
/etc/passwd
вручную , вы можете это сделать, но вам все равно не следует просто изменять файлы с помощью вашего любимого редактора. Вместо этого есть инструментИз справочных страниц:
Например, если вы хотите изменить UID пользователя, насколько я знаю, редактировать файлы вручную, это единственный способ. Кроме того, если вы хотите изменить пароль пользователя, а затем вернуться к его предыдущему, не зная его, нет никакого способа с
usermod
или около того. Но если вы сохраните хешированный пароль из теневого файла, то измените пароль пользователя, который впоследствии сможете добавить хешированный пароль, снова редактируя теневой файлvipw -s
.источник
После ответа @ EliahKagan я не смог войти в систему,
lightdm
и моя учетная запись не была указана. Я обнаружил, что разрешениеpasswd
файла не было правильно настроено; пользователь lightdm не имел к нему доступа. Вот как я это исправил:Войти на терминал Ctrl+ Alt+F1
перейти в
/etc
каталогЗатем измените разрешения на
644
Тогда делай
ls -la
строка разрешения должна выглядеть следующим образом
источник
Если вы можете войти, просто откройте терминал и попробуйте это:
еще
Загрузитесь в режиме восстановления или из Ubuntu Live Cd. Затем установите ваш старый диск:
затем перезагрузите компьютер. Это не установит пароль для root.
Затем вы можете войти, создать все свои учетные записи снова и т. Д.
Вы также можете использовать резервную копию, которая называется (я думаю)
/etc/passwd-
Изменить : (еще один метод, который я не пробовал раньше, но я думаю, что он также должен работать)
init=/bin/bash
cp /etc/passwd- /etc/passwd
init=/bin/bash
mount -o remount,rw /
passwd YOURUSERNAMEHERE
(если вы не знаете свой тип имени пользователяls /home
(то есть строчные буквы L и строчные S) для списка пользователей)Источник
источник