Я проводил эксперимент по доступу к ресурсам. По ошибке я выполнил эту команду, $ sudo mv /etc /passwd /etc/passwd.bak. Тогда я не смог выполнить ни одну команду с привилегиями (например, sudo mv /etc/passwd.bak /etc /passwd). Когда я выключил систему, я больше не мог ее загрузить. После этого я восстановил файл passwd с помощью LiveCD. Любые другие подходы могут сделать это?
2 ответа
Может быть это: Когда загрузчик появляется, добавьте
init=/bin/bash
к параметрам ядра. Вместо обычной загрузки (когда процесс init порождает все другие службы, включая вход в систему), вы должны оказаться в однопользовательском режиме с корневой оболочкой (пароль не запрашивается) и иметь возможность восстановить файл passwd. В некоторых дистрибутивах вам может потребоваться вручную перемонтировать корневой раздел в режиме чтения / записи перед перемещением файла:
mount -o remount,rw /dev/sda123
(Я не хочу проверять вашу проблему и видеть, работает ли это решение :)
Вы можете использовать "sudo su", чтобы держать корневой терминал открытым. Таким образом, нет необходимости входить в систему с помощью sudo каждый раз, так как терминал всегда будет root (конечно, пока вы его не закроете). Если вы случайно переместили файл, вы можете переместить его обратно из корневого терминала, потому что вы все равно будете авторизованы.