Изменил владельца /etc на свою учетную запись, теперь вышел из sudo?

Изменил владельца /etc на свою учетную запись, теперь вышел из sudo?

Я работал над SFTP через Filezilla, чтобы разрешить загрузку и повторную загрузку некоторых файлов, владельцем которых я стал через ROOT и chown -R 'myusername' /etc и chmod 777 для моей учетной записи пользователя для -R /etc.

Теперь у меня истекло время ожидания, и я попытался снова войти в систему как пользователь root, но он выдает ошибку sudo: /etc/sudoers принадлежит пользователю с идентификатором 1000, должен быть 0 sudo: не найдены допустимые источники sudoers, выход sudo: невозможно инициализировать плагин политики У меня есть доступ к /etc и 777 для всех файлов, а также я могу получить к ним доступ по FTP, поэтому, пожалуйста, подскажите, как восстановить доступ к учетной записи root. Кроме того, в настоящее время у пользователя root нет пароля, поэтому я не могу запустить общие команды pkexec или visudo.

Предложите, пожалуйста, решение, а также, есть ли способ вручную сбросить файлы /etc/shadow или passwd.

Я думаю, что это немного отличается от указанного дубликата, потому что я также изменил разрешения на файлы. Также, если я запущу chown root:root /etc/, это даст мне chown root:root /etc chown: changing owner of '/etc': Operation not allowed

Спасибо!

решение1

Вероятно, самый простой способ исправить это — перезагрузить. Вот два решения, которые приходят на ум:

  1. Загрузите ubuntu livecd и смонтируйте устройство, на котором есть /etc. Затем выполните chown -R root:root /path/to/etc.

  2. Если у вас нет livecd или способа загрузить livecd, попробуйте это. Перезагрузите компьютер. Когда вы получите приглашение grub, отредактируйте загрузочную запись в строке с командой linuxдля добавления break=bottom(для этого может потребоваться удерживать <shift>клавишу во время загрузки). Затем нажмите клавишу , <F10>чтобы загрузить измененную загрузочную запись. Это даст вам root shell в initrd, где /devсмонтированы rootfs и . Затем выполните /bin/chroot /rootchroot в rootfs. Если /etcон не находится в rootfs, то смонтируйте устройство, скажем , в /tmp. Затем вы можете сделать chown -R root:root /path/to/etc. Если вы смонтировали /etc, обязательно отмонтируйте его по завершении, а затем выйдите из chroot и оболочки initrd, чтобы продолжить загрузку в обычном режиме. Все ваши /etcфайлы должны иметь права root.

Связанный контент