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

Я случайно запустил следующую команду

sudo chown [username] -hR /

Сейчас sudo su получение ошибки:

sudo: /usr/bin/sudo must be owned by uid 0 and have the setuid bit set

Как Это решить?

Как вы будете читать дальше этот ответ на ТАК, эта проблема заключается в нет так же трудно, как это делают люди. Вы можете получить sudo команда снова работает без переустановки выполнив эти простые шаги:

  1. Выйдите из системы как текущий пользователь, затем снова войдите в систему как root.
  2. Выполнять chown root:root /usr/bin/sudo && chmod 4755 /usr/bin/sudo
  3. Выйдите из системы с правами root, затем снова войдите в систему как текущий пользователь.

Это делает свое дело и намного быстрее и менее болезненно, чем "ядерный вариант", рекомендованный в других ответах.

Если ваш пароль root не установлен, вы можете загрузиться в режим восстановления чтобы установить его.

Обратите внимание, что это устранит ошибку заголовка /usr/bin/sudo must be owned by uid 0 and have the setuid bit set но если, как и в случае с операцией, вы сделали больше, чем просто испортили разрешения /usr/bin/sudo однако более "ядерный" вариант на самом деле может иметь больше смысла.

Создайте резервную копию ваших данных и переустановите их.

Это, вероятно, выглядит экстремально, но это не просто sudo. Вы уничтожили структуру разрешений всей вашей файловой системы. Некоторые из других ответов можно получить sudo работает, но игнорирование всей проблемы в целом влечет за собой последующую катастрофу.

Вы могли бы попытаться отразить владельцев от другой установки, но бывают случаи (/var/ например), которые сильно зависят от того, что у вас на самом деле установлено. Если вы хотите получить масштаб проблемы, На самом деле у меня уже была попытка помочь кому-то решить подобную проблему раньше. Исправление выполняется вручную, долго и может легко привести к небезопасности или поломке вашей системы.

Разбираться в этом беспорядке займет значительно больше времени, чем чистая установка.


Это вызвало пару наездов со стороны людей, которые не понимают серьезности сложившейся здесь ситуации. Для них это выглядит как большая куча ненужной работы, что-то вроде того, что говорит мошенник-сантехник или механик, чтобы вытрясти из вас большую работу.

Если вы изменили только разрешения на /usr/bin/sudo во что бы то ни стало, просто исправь это. Но этот вопрос касается полного изменения системы. Каждый файл (за исключением файлов, доступных только для среды выполнения) теперь принадлежит пользователю. Все, что запускает пользователь (например, браузеры, эксплойты браузера) может затем перезаписать системные файлы, шпионить за вами, извлекать любые данные. Это необходимо исправить. Согласно вышесказанному, это сложно. Самый простой способ - это переустановка.

Так что, пожалуйста, не ленитесь по этому поводу. Разрешения файловой системы помогают обеспечить вашу безопасность, исправьте их.

  1. перейдите в режим восстановления, продолжая нажимать Esc во время загрузки системы.

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

  3. введите команду - mount -o remount / (Или в режиме восстановления вы можете нажать на опцию grub. Это помогло мне получить права на чтение и запись в файловой системе. Это в основном обновило режим чтения / записи в файловой системе, поскольку изначально команда у меня не работала)

    Он перемонтирует вашу файловую систему в режиме чтения и записи.

  4. команда - chown -R root:root /usrэта команда снова рекурсивно изменит владельца с "пользователя" на root

  5. теперь у меня все еще были проблемы с sudo команду, поэтому я снова выполнил шаг 1,2,3 и выполнил chmod 4755 /usr/bin/sudo

Теперь я действительно думаю, что повторная установка была бы действительно "ядерным вариантом".;

У меня была такая же проблема с моим droplet на digital ocean.

sudo: /usr/bin/sudo должно принадлежать uid 0 и иметь возможность setuid набор бит.Ниже приведены команды, которые я выполнил и после перезагрузки.

chown -R root:root /usr/bin/sudochmod -R a=rx,u+ws /usr/bin/sudochown -R root:root /usr/lib/sudo/sudoer.sochmod -R a=rx,u+ws /usr/lib/sudo/sudoer.so

Надеюсь, это поможет.

Вышеуказанные методы не сработали для меня, потому что я не мог "войти в систему как root" (неизвестный пароль), но я получил корневую оболочку, отредактировав

vi /etc/lightdm/lightdm.confautologin-user=rootgreeter-show-manual-login=true

После перезагрузки я, наконец, смог запустить

chown root:root /usr/bin/sudo && chmod 4755 /usr/bin/sudo

К сожалению, если у вас нет полной резервной копии, вероятно, лучшее, что вы можете сделать на данный момент, - это переустановить.

Учтите, что вы изменили права собственности на все файлы на одного и того же пользователя, полностью нарушив парадигму безопасности вашей системы....

Если вы выполните поиск по этому сайту, то обнаружите много подобных проблем с chmod, как, например Как я могу восстановить данные из chmod -R a-wrx / command?

Я не смог отредактировать lightdm.conf файл под запущенной системой. Я исправил такие вещи, как это:

  1. загрузите Ubuntu live usb
  2. смонтируйте корневой раздел, чтобы получить доступ /etc/lightdm/lightdm.conf об установке
  3. sudo -H gedit /mnt/etc/lightdm/lightdm.conf и добавьте следующие строки из Ответ раздражителя

    autologin-user=rootgreeter-show-manual-login=true
  4. перезагрузить

  5. выполнить команду:

    chown root:root /usr/bin/sudo && chmod 4755 /usr/bin/sudo
  6. Вернуть пользователя по умолчанию в /etc/lightdm/lightdm.conf (вы же не хотите каждый раз автоматически входить в систему от имени root, что было бы очень небезопасно и опасно)

  7. перезагрузитесь, и моя система снова будет работать нормально.

Я изменил / usr /lib / на root-владельца, но sudo выполняется только с root-логином в терминале.

шаг первый: su rootstep два: cd /usr/libstep три: chown -R root:root sudo

и это все. Просто ОБРАТИТЕ ВНИМАНИЕ, что вам нужно запускать su root каждый раз, когда вы хотите использовать sudo.

Использование https://medium.com/@KongToonArmy/sudo-must-be-owned-by-uid-0-and-have-the-setuid-bit-set-cdca3dba7d19 автор KongToonArmy
Конгтунская армия

Примечание: Когда у меня возникла эта проблема, я переустановил ОС (потому что в то время существовали другие ответы, и я не могу больше ждать). Итак, теперь новые ответы больше не будут поддерживаться с моей стороны!

Благодаря крошечному предупреждению, размещенному в разделе Вариант 1 здесь, который я с радостью проигнорировал и оказался здесь!