← На главную

sudo-rs в Ubuntu 26.04 несовместим с классическим sudo

03.11.2026 16:43 · hackernews

Крис Зибенманн обнаружил, что используемый по умолчанию в Ubuntu 26.04 sudo-rs не просто отличается от классического sudo отдельными функциями, а по-другому обрабатывает правила sudoers. После обнаружения проблемы он переключил свои машины на традиционную реализацию командой update-alternatives --set sudo /usr/bin/sudo.ws и добавил это действие в установщик своей инфраструктуры.

Ключевое отличие касается подстановочных знаков. Классический sudo разрешает шаблоны в аргументах команды, например /bin/rm *.txt. sudo-rs допускает подстановочный знак только в позиции аргумента и только как последний аргумент. Поэтому привычное правило с .txt отклоняется, а конструкция /sbin/service ntp * остаётся допустимой. Шаблоны в пути к исполняемому файлу тоже поддерживаются: /sbin/fsck разрешает запустить как fsck, так и fsck_exfat.

Разработчики называют ограничение намеренным: оно должно предотвращать распространённые ошибки конфигурации. Однако при обновлении Ubuntu такое изменение способно незаметно сломать существующие правила. Особенно неприятен соблазн заменить отклонённое узкое разрешение на NOPASSWD: ALL, что даст учётной записи гораздо больше полномочий, чем прежде.

Это не единственное расхождение. sudo-rs использует те же /etc/sudoers и /etc/sudoers.d, поддерживает NOPASSWD и visudo, но не реализует часть старых возможностей оригинала. Среди них sudo -E, настройки log_output, iolog_dir, requiretty и logfile, а также запись сеансов через sudoreplay. Другой формат приглашения для ввода пароля может нарушить работу автоматизации: старые версии Ansible не распознают его и ждут ответ до тайм-аута.

Классический пакет sudo остаётся в репозитории Ubuntu и может быть установлен рядом с sudo-rs. Поэтому администратор может либо переписать несовместимые правила и обновить автоматизацию, либо выбрать /usr/bin/sudo.ws через update-alternatives. Зибенманн предпочёл второй вариант, но это его практическое решение и позиция, а не требование самой Ubuntu. Проект sudo-rs прямо предупреждает, что часть функций оригинального sudo ещё не реализована или не планируется.

Читать оригинал →