sudo: «эффективный uid не равен 0, установлен ли sudo setuid root?» на Raspberry Pi

sudo: «эффективный uid не равен 0, установлен ли sudo setuid root?» на Raspberry Pi

Я пользуюсь Raspberry Pi уже несколько недель и потратил много часов на настройку всего необходимого для моего университетского проекта.

Я хотел установить Samba и иметь все в виде сетевой папки. Я использовал sudo chown -R pi:pi /.

Теперь мой sudo сломался и выводит сообщение sudo: effective uid is not 0, is sudo installed setuid root?каждый раз, когда я его запускаю (например, sudo nano).

Можно ли это исправить? Пожалуйста, помогите мне, чтобы мне не пришлось переустанавливать ВСЕ. Я даже не могу вспомнить, что я делал в последние недели... столько работы.

решение1

Запуск sudo chown -R pi:pi /по сути нарушил права собственности на все файлы в вашей системе.

К сожалению, переустановка, вероятно, является самым простым вариантом в вашем случае. Было бы очень утомительно и подвержено ошибкам пытаться восстановить правильных владельцев вручную (предположительно, используя другой компьютер). Я рекомендую сделать образ хранилища Raspberry Pi перед переустановкой, чтобы после переустановки вы могли восстановить некоторые из сделанных вами изменений.

решение2

Бит setuidв исполняемом файле означает, что рассматриваемый файл может изменить свой эффективный UID на идентификатор владельца, а не вызывающего/исполняющего пользователя.

Запустив его, sudo chwon -R pi:pi /вы стали sudoпринадлежать пользователю pi(ненулевой UID), и поэтому при sudoпроверке возможности изменения эффективного UID на 0 ( root) он видит, что не может, поскольку он больше никому не принадлежит root.

Вы можете попытаться исправить это, выполнив команду chown root:rootover sudo, но система может сообщить, что у вас недостаточно прав для этого, поэтому переустановка может быть единственным выходом.

решение3

Самый простой подход — найти и сохранить все файлы, которые были изменены за «последние несколько недель», а затем переустановить их и повторно применить изменения.

  1. Загрузите аварийный диск.
  2. Найдите и сохраните «недавно» измененные файлы. cd /mnt/root && tar czvf /mnt/usb/tarball.tgz --newer-mtime='2015-10-01 00:00:00' .Убедитесь, что /mnt/rootэто корневой каталог вашей системы Pi, а не корневой каталог диска восстановления, и что он /mnt/usbнаходится в безопасном месте, например на USB-накопителе.
  3. Переустановить
  4. Восстановите файлы, которые вы тщательно сохранили -cd / && tar xzvf /root/tarball.tgz
  5. Перезагрузить

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