ЛОНДОН – Главное, самое главное. Расслабляться. Да, Ubuntu 26.04, следующая долгосрочная поддержка Ubuntu, будет иметь sudo-rs, версию sudo, написанную на безопасном для памяти Rust. Нет, он не заменит старый добрый sudo на базе C. Они оба будут там. Дышать. Расслабляться.
Нет, серьезно. Это уже есть в Ubuntu 25.10. У меня все работает отлично. Если вы ей не доверяете, вы можете контролировать, какую версию вы используете, с помощью команды:
альтернативы обновления —config sudo 1 альтернативы обновления —config sudo
Как объяснил в презентации на Ubuntu Summit 25.10 Марк Скулдерман, ведущий инженер проекта sudo-rs, переписывание основной команды sudo в Rust — это не просто «портирование ради Rust». Это преднамеренный редизайн, направленный на решение серьезных проблем безопасности, удобства обслуживания и гибкости, лежащих в основе границ привилегий Linux.
Он пришел в проект, когда кто-то прислал ему сообщение с вопросом: «Хотите ли вы в рамках своей повседневной работы работать над чем-то, что может иметь огромное значение, на хорошем современном языке программирования?» Почему бы и нет? Для меня это честный ответ». Он ясно дает понять, что переписывание послужит «хорошим моментом для переосмысления требований», предоставляя не только большую техническую свободу, но и более глубокий вклад сообщества. Уменьшенный размер кода Sudo-rs и выразительная семантика Rust значительно облегчают сторонним участникам предложение улучшений.
Он и его коллеги-разработчики выполняют эту работу рука об руку с Тоддом Миллером. Тодд, кто? Вы знаете парня, который является единственным сопровождающим sudo и в настоящее время ищет спонсора для финансирования дальнейшего обслуживания sudo. Вы знаете мультфильм xkcd о современной мировой цифровой инфраструктуре, зависящей от одного разработчика в Небраске? Это Миллер, только он живет в Колорадо. Нам нужна современная, более безопасная для памяти версия sudo, sudo-rs, и Миллеру также нужна наша поддержка.
Мотивация переписывания Sudo на Rust
Тем не менее, Скулдерман объяснил, что sudo-rs зародился в 2023 году благодаря Исследовательской группе по интернет-безопасности в рамках инициативы Prossimo по переписыванию критически важных утилит с открытым исходным кодом на безопасные языки. В частности, они нацелены на повсеместно распространенные утилиты, которые находятся на границе безопасности и еще не реализованы в современных языках, безопасных для памяти.
Хотя улучшенная безопасность памяти — определяющее достоинство Rust — является центральным, поскольку до 30% серьезных уязвимостей sudo исторически возникают из-за проблем с памятью, Скулдерман подчеркивает, что выразительная система типов Rust и простота рефакторинга, которую она обеспечивает, в равной степени преобразуют удобство сопровождения и аудита.
Вместо того, чтобы слепо копировать каждую устаревшую функцию, команда sudo-rs использует возможность переосмыслить требования и оптимизировать функции, оптимизируя как безопасность, так и актуальность в современных системах.
Понимание Sudo-rs в Ubuntu
Это означает, что цель sudo-rs — стать полноценной заменой для всех случаев повседневного использования sudo. Для синтаксиса конфигурации sudo это означает, что он поддерживает файлы конфигурации по умолчанию для распространенных дистрибутивов Linux и FreeBSD. «Наша реализация должна поддерживать все часто используемые параметры командной строки из исходной реализации sudo».
Но, и это важно, некоторые части оригинального sudo явно выходят за рамки. Sudo имеет большую и богатую историю, и некоторые функции, доступные в исходной реализации sudo, по большей части не используются или доступны только для устаревших платформ.
Таким образом, вместо того, чтобы клонировать все аспекты устаревшего sudo, в него включены не все «необычные» функции или редко используемые возможности. Да, это означает, что ваша «основная» функция sudo может быть не включена. Но действительно ли вам это нужно? Проверьте это и увидите. И, если вам это действительно нужно, сообщите об этом разработчикам, и, возможно, они это добавят. Кроме того, помните, sudo никуда не денется. Вместо этого вы можете просто использовать его.
Помимо повышения безопасности sudo-rs, еще одной причиной рефакторинга было следующее: «В sudo много бизнес-логики, и если вы используете Rust, у вас есть современный язык с очень выразительной системой типов, и гораздо проще выразить логику так, чтобы ее можно было поддерживать и читать».
Кроме того, Шудерман сказал: «Самым большим преимуществом использования Rust для sudo-rs нашей команды не обязательно является проблема безопасности памяти, хотя это и приятно, но вы получаете его бесплатно. Самым большим преимуществом является меньшая кодовая база, с которой внешним пользователям легче разобраться».
Он продолжил: «Мы посадили sudo на диету и на самом деле свели его, я думаю, к трем прямым зависимостям, и все они поддерживаются проектом Rust. Поэтому я думаю, что sudo — очень экономичный проект, и мы хотим, чтобы он оставался таким».
Сотрудничество с первоначальным сопровождающим Sudo
Скулдерман продолжил, что sudo-rs усвоил уроки десятилетий разработки sudo при активном сотрудничестве с Миллером. Он консультировал команду Школьдермана и участвовал в исправлении ошибок в sudo-rs. Это привело к прямому перекрестному взаимодействию между проектами: комплексные тесты sudo-rs даже выявили уязвимости в оригинальном sudo, которые Миллер быстро исправил.
Sudo-rs и sudo не являются соперниками, а дополняют друг друга, и их разработчики помогают друг другу сделать их лучше.
В 2025 году Canonical решила сделать sudo-rs реализацией sudo по умолчанию для Ubuntu 25.10. Сюда входят этапы финансирования совместимости с Ubuntu, такие как предотвращение выхода из оболочки NOEXEC и элементы управления AppArmor. Стремясь к обратной совместимости там, где это важно (устаревшие сценарии и рабочие процессы), Canonical обеспечивает плавный переход, тщательно тестируя производительность и надежность sudo-rs для предстоящего выпуска Ubuntu LTS в 2026 году. Руководство Canonical надеется вдохновить другие крупные дистрибутивы присоединиться к ним.
Фонд Trifecta Tech теперь контролирует управление и финансирование проекта. Это обеспечивает сплоченную и разнообразную команду, помимо «фактора автобуса», связанного с риском одного сопровождающего.
Есть надежда, что переход на sudo-rs обеспечит меньшее количество исправлений безопасности, сократит время простоя из-за эксплойтов и модернизирует, оптимизированную кодовую базу, которую будет легче проверять и расширять как новичкам, так и сопровождающим.
Философия дизайна Sudo-rs «Меньше значит больше»
Таким образом, sudo-rs воплощает философию «лучше меньше, да лучше», отказываясь от раздувания и сосредотачиваясь на надежных основах. Системные администраторы и инженеры по безопасности должны оценить это изменение.
Будет ли это работать? Оставайтесь здесь и узнайте или начните экспериментировать с Ubuntu 25.10 или одним из многих других дистрибутивов, которые сегодня поддерживают его в качестве опции, например Arch, Fedora, Debian или NixOS.
ТЕНДЕНЦИОННЫЕ ИСТОРИИ YOUTUBE.COM/THENEWSTACK Технологии развиваются быстро, не пропустите ни одной серии. Подпишитесь на наш канал YouTube, чтобы смотреть все наши подкасты, интервью, демонстрации и многое другое. ПОДПИСАТЬСЯ Группа, созданная в Sketch. Стивен Дж. Воан-Николс, он же sjvn, писал о технологиях и технологическом бизнесе с тех пор, как CP/M-80 была новейшей операционной системой для ПК, скорость 300 бит/с — высокоскоростное подключение к Интернету, WordStar — современный текстовый процессор, и он нам понравился. Узнайте больше от Стивена Дж. Воана-Николса.