Отказано в доступе для «sudo» после «sudo chmod 666 /usr»

Отказано в доступе для «sudo» после «sudo chmod 666 /usr»

Я совершил большую ошибку и теперь не могу ничего сделать на своей рабочей станции. Я попытался запустить VirtualBox, и он пожаловался, что у /usr есть доступ на выполнение. Затем я выполнил, ошибочно, sudo chmod 666 /usr и теперь я больше не могу выполнить 'sudo'.

Я обратился в наш технический отдел, и они сказали, что в Ubuntu нет пароля для root, поэтому они не видят другого решения моей ошибки, кроме как переустановить Ubuntu, а это значит, что я потеряю всю свою работу.

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

решение1

Если вы только sudo chmod 666 /usrчто это сделали, то все не так уж и плохо, поскольку это изменило права доступа только к родительскому /usrкаталогу, а не к файлам или подкаталогам внутри него.

Однако если вы добавили флаг рекурсии -R, то вам почти наверняка лучше переустановить систему. Даже если так,не должно быть никаких причин для потери данных: вы можете загрузиться с Live USB или DVD и сначала сделать резервную копию важных файлов оттуда.

Есливы сделали только нерекурсивный доступ sudo chmod 666к /usrкаталогу и у вас есть физический доступ к машине, то самое простое исправление должно быть таким

  1. Загрузитесь в режиме восстановления через расширенное меню grub и выберите «Перейти в корневую оболочку».
  2. Перемонтируйте файловую систему в режиме чтения-записи.

    mount -o remount,rw /
    
  3. Выполнить команду

    chmod 755 /usr
    

    Недобавьте любые другие параметры командной строки инеиспользуйте любые подстановочные знаки оболочки.

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


Обратите внимание, chmodчто lives in , /binа не /usr/binso не должны зависеть от разрешений на /usr. Если (например) вы хотите изменить биты разрешений для /binкаталога или для /самого каталога, то этот метод не подойдет, так как вы не сможете выполнить chomdиз режима восстановления - лучшим вариантом в этом случае, вероятно, будет загрузка live CD/DVD/USB любого доступного дистрибутива Linux (это не обязательно должен быть Ubuntu); идентификация и монтирование корневого устройства сломанной системы (например, в /mntlive-системе); а затем запуск chmod 755 /mnt/usrиз live-системы.

решение2

Ваша команда, возможно, удалила SUID-Bit из /usr/bin/sudo. Правильные разрешения должны быть такими:

-rwsr-xr-x 1 root root 136808 Aug 17 15:20 /usr/bin/sudo

Вам следует получить recovery-cd, как указано в комментариях выше, и следовать шагам в разделе "поиск корневого раздела". После успешного монтирования установите SUID-Bit с помощью: chmod 4755 /usr/bin/sudo

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