Я совершил большую ошибку и теперь не могу ничего сделать на своей рабочей станции. Я попытался запустить 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
каталогу и у вас есть физический доступ к машине, то самое простое исправление должно быть таким
- Загрузитесь в режиме восстановления через расширенное меню grub и выберите «Перейти в корневую оболочку».
Перемонтируйте файловую систему в режиме чтения-записи.
mount -o remount,rw /
Выполнить команду
chmod 755 /usr
Недобавьте любые другие параметры командной строки инеиспользуйте любые подстановочные знаки оболочки.
Введите
exit
, чтобы продолжить загрузку в обычном режиме
Обратите внимание, chmod
что lives in , /bin
а не /usr/bin
so не должны зависеть от разрешений на /usr
. Если (например) вы хотите изменить биты разрешений для /bin
каталога или для /
самого каталога, то этот метод не подойдет, так как вы не сможете выполнить chomd
из режима восстановления - лучшим вариантом в этом случае, вероятно, будет загрузка live CD/DVD/USB любого доступного дистрибутива Linux (это не обязательно должен быть Ubuntu); идентификация и монтирование корневого устройства сломанной системы (например, в /mnt
live-системе); а затем запуск 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