Представьте ситуацию: вы пытаетесь создать нового пользователя в Ubuntu, но терминал выдает ошибку “sudo: /usr/bin/sudo must be owned by uid 0 and have the setuid bit set”. Всё потому, что права файла sudo сбились, и система не может выполнить команды с повышенными привилегиями. Чтобы это исправить, нужно зайти в GRUB и восстановить настройки. Но как это сделать, если Ubuntu запущена в VMware Fusion на MacBook? Давайте разберемся детально.
Доступ к GRUB через BIOS-режим
Первое, что стоит попробовать – классический метод с зажатием клавиши Shift. Но в виртуальной машине есть нюансы:
- Запустите виртуальную машину с Ubuntu.
- Сразу после старта кликните в окно VMware – это перехватит фокус ввода.
- Удерживайте Shift (не нажимайте многократно – именно зажмите и держите).
Если всё сделано вовремя, появится меню GRUB, как на скриншоте:

Выберите пункт Advanced options for Ubuntu, затем – строку с пометкой (recovery mode). В следующем меню нажмите root, чтобы перейти в режим восстановления с правами суперпользователя.



Если GRUB не открывается, возможно, вы не успели нажать клавишу. Перезапустите VM и повторите попытку, действуя быстрее.
В командной строке восстановления выполните:
chown root:root /usr/bin/sudo
chmod 4755 /usr/bin/sudo
Первая команда устанавливает владельца файла sudo на root, вторая – задает правильные разрешения (setuid-бит, который позволяет запускать файл от имени владельца). После этого введите shutdown now, чтобы перезагрузить систему.
Если Ubuntu использует UEFI
Современные системы часто работают через UEFI, и здесь метод с Shift не сработает. Вместо этого:
1. Запустите VM и кликните в её окно.
2. Быстро нажимайте Esc, пока не появится Boot Manager:

3. Выберите строку с Ubuntu, нажмите Enter, затем снова Esc (один раз!).
Откроется стандартное меню GRUB. Дальнейшие шаги аналогичны BIOS-методу: выбор recovery mode, вход в root и выполнение команд для исправления sudo.

Важно: Если вместо Boot Manager появляется логотип Ubuntu, значит, вы не успели нажать Esc. Увеличьте скорость или попробуйте начать нажимать клавишу раньше.
Альтернатива: Live-режим Ubuntu
Если доступ к GRUB по каким-то причинам невозможен (например, поврежден загрузчик), используйте установочную флешку Ubuntu:
1. Подключите ISO-образ Ubuntu к VMware через настройки виртуальной машины (Devices > CD/DVD > Settings).
2. Загрузитесь с Live-системы, выберите Try Ubuntu.
3. Откройте терминал и смонтируйте корневой раздел:
sudo mount /dev/sda2 /mnt
(Здесь /dev/sda2 – пример; уточните раздел через lsblk)
4. Исправьте права:
sudo chown root:root /mnt/usr/bin/sudo
sudo chmod 4755 /mnt/usr/bin/sudo
5. Размонтируйте раздел и перезагрузитесь:
sudo umount /mnt
Кстати, этот метод полезен не только для исправления sudo, но и для других критических ошибок, когда система не загружается. Главное – правильно определить раздел с установленной Ubuntu (обычно это /dev/sda2, но может быть и sda1, в зависимости от структуры диска).
Почему вообще возникает ошибка с sudo? Чаще всего – из-за случайного изменения прав командой вроде chmod -R 777 /. Setuid-бит (число 4 в 4755) позволяет программам запускаться с правами владельца, даже если их вызвал обычный пользователь. Без этого sudo не может повысить привилегии.
После выполнения этих шагов система должна заработать корректно. Если проблема повторяется, проверьте, нет ли скриптов или фоновых процессов, которые меняют права файлов. Также рекомендую настроить резервные копии критических конфигураций – например, через timeshift. Это сэкономит время в будущем, если что-то пойдет не так.