команда sudo не работает в vagrant

#ubuntu #vagrant

#ubuntu #vagrant

Вопрос:

Я использую vagrant. Я даже не знаю почему, но по какой-то причине я рекурсивно запустил chmod 777 в /usr/ . Теперь всякий раз, когда я пытаюсь запустить что-либо с помощью sudo, я получаю следующую ошибку:

sudo: /usr/bin/sudo должен принадлежать uid 0 и иметь установленный бит setuid

Для этого я использую vagrant.

Есть ли у кого-нибудь идеи о том, как изменить это разрешение на значение по умолчанию?

Ответ №1:

Я рекурсивно запустил chmod 777 в / usr

ну, я вижу 2 варианта :

vagrant уничтожить

создайте резервную копию того, что вам нужно для сохранения и перестроения виртуальной машины ( vagrant destroy и vagrant up ) Это преимущество vagrant, если вы можете быстро перестроить свою среду после подготовки и если вы работаете с sync folder, чтобы все было сохранено с вашего хоста.

пытаюсь исправить

вам нужно будет войти в систему как root и исправить несколько вещей

  1. запустите виртуальную машину либо из VirtualBox, либо vagrant up

  2. перейдите в виртуальный ящик и войдите в систему как root (пароль должен быть vagrant ) (надеюсь, вы сможете войти на этом этапе, иначе будет сложнее)

  3. измените настройки —

     chown root:root /usr/bin/sudo amp;amp; chmod 4755 /usr/bin/sudo
      

Это исправится, sudo но поскольку вы рекурсивно изменили все файлы в папке, вам нужно будет исправить каждый из них; все должно принадлежать root там, чтобы вы могли запускать chown -R в папке, и большинство разрешений 755 , но не все, чтобы вы могли попробовать запустить chmod -R 755 /usr (оставив липкий бит), но я не гарантируюэто сработало бы

  1. выйдите из виртуального окна, попробуйте запустить vagrant ssh

Комментарии:

1. Сначала попробовал вариант 2, не сработал, вариант 1 в порядке, спасибо!

2. если бы вы изменили только sudo, все было бы в порядке, но целая /usr папка, ну, это слишком много!