Что делать, если владелец /usr/bin/* изменится на пользователя, отличного от root?

Что делать, если владелец /usr/bin/* изменится на пользователя, отличного от root?

Правильнее было бы сказать, что я облажался!

Случайно я изменил владельца всех файлов в /usr/bin с 'root' на 'dev'. Теперь sudo не работает! Если я использую sudo с любой командой, я получаю -

sudo: effective uid is not 0, is sudo installed setuid root?

Я не могу использовать chownкоманду, чтобы изменить владельца обратно на 'root'. Это большой шаг назад!

Поскольку это виртуальная машина, я не могу получить доступ к консоли восстановления. Фактически, даже для этой rebootкоманды требуется, чтобы пользователь имел права root.

Эксперты, помогите мне, пожалуйста, получить контроль над ОС без необходимости переустановки образа.

Спасибо!

PS - Возможнодубликатно репост, как его решение, был начать заново.

Больше информации -

su - rootвсегда говорит неправильный пароль. К сожалению, владелец suтакже 'dev'.

Я могу создать нового пользователя с помощью GUI. Он принял пароль root. Как предоставить новому пользователю доступ root без использования visudo.

решение1

Физическая безопасность — это безопасность. У вас есть три варианта:

  1. Войдите в систему как пользователь root, либо через консоль, либо по ssh.
  2. Загрузитесь в однопользовательском режиме, который традиционно не требует пароля root (но может потребоваться в вашей системе).
  3. Смонтируйте образ диска из другой ОС.

Любой из них даст вам возможность изменить владельца любого файла на диске. Если ни один из них не подходит вам, вам не повезло, но вы также не контролируете ситуацию: могут произойти другие вещи, которые не являются ошибками и требуют доступа к консоли.

решение2

Я не могу ничего сказать наверняка, не запустив виртуальную машину и не сымитировав вашу ситуацию, но, вероятно, я бы сделал следующее: если вы можете использовать файл в качестве внешнего носителя для своей виртуальной машины, загрузите Live CD/USB-дистрибутив (Knoppix или archiso по умолчанию, или установочный CD Gentoo, или Porteus), а затем сделайте что-то вроде монтирования файловой системы с поврежденным /usr/bin (возможно, с помощью cd /; mkdir /backup; cp /mnt/centos/usr/bin /backup, скопировав двоичные файлы, которые вы хотите сохранить, и chown -hR 0 /backup; chmod 755их, или какие-то другие выбранные вами привилегии для /usr/bin, а затем удалите /usr/bin втолькосломанные вещи (если fs, которую нужно исправить, была смонтирована в /mnt/centos, команда для использования в последней инструкции будет rm -r /mnt/centos/usr/bin), то что-то из строк cp /backup /mnt/centos/usr/binИ это может сработать. Пока не делайте этого, так как я еще не развернул виртуальную машину, чтобы проверить это. Если выне мочьсделать файл внешним загрузочным носителем, то я думаю, вам нужно переустановить, предварительно сделав резервную копию всех файлов, которые вы хотите сохранить. Надеюсь, этот ответ вам поможет.

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