LINUX.ORG.RU

В Ubuntu по умолчанию задействован sudo-rs, написанный на Rust

 , , ,


0

5

В ежедневно обновляемых экспериментальных сборках Ubuntu, отражающих развитие осеннего выпуска Ubuntu 25.10, вместо утилиты sudo по умолчанию задействован проект sudo-rs, написанный на языке Rust. Решение использовать sudo-rs в Ubuntu было принято в мае, но до последнего времени не было ясно, успеют ли разработчики реализовать в sudo-rs необходимые отсутствующие возможности до перехода Ubuntu 25.10 на стадию заморозки.

Для поставки sudo-rs в Ubuntu 25.10 были выполнены такие требования, как возможность работы в системах со старыми версиями ядра Linux (<5.9), поддержка механизма защиты NOEXEC и профилей AppArmor, исправление проблем со стабильностью, рецензирование пакета и его добавление в репозиторий main. Для возвращения классического sudo в Ubuntu-установках c sudo-rs можно использовать команду update-alternatives --set sudo /usr/bin/sudo.ws. В версии Ubuntu 26.10 в репозитории main планируют оставить только пакет sudo-rs. Что касается утилиты su, то в Ubuntu продолжает использоваться обычная утилита /usr/bin/su, но разработчики намерены в будущем начать эксперименты с использованием варианта su (su-rs) на языке Rust.

Замена системных компонентов производится в рамках инициативы по повышению качества системного окружения через поставку программ, изначально разрабатываемых с оглядкой на безопасность, надёжность и корректность. Поставка утилит, написанных на языке Rust, даст возможность снизить риск появления ошибок при работе с памятью, таких как обращение к области памяти после её освобождения и выход за границы буфера. Если не возникнет непредвиденных проблем, то утилиты на Rust будут задействованы по умолчанию в LTS-ветке Ubuntu 26.04.

>>> Подробности на opennet



Проверено: hobbit ()
Последнее исправление: hobbit (всего исправлений: 2)

Замена системных компонентов производится в рамках инициативы по повышению качества системного окружения через поставку программ, изначально разрабатываемых с оглядкой на безопасность, надёжность и корректность.

Довольно странно цепляться к sudo оправдывая это тем, что она разрабатывалась без оглядки на безопасность, надёжность и корректность. Да, растишка в некоторых аспектах кажется безопаснее, но программе sudo десятки лет, там уже всё отлажено-переотлажено.

Camel ★★★★★
()
Ответ на: комментарий от ulyssesjj

sudo вообще пользоваться нельзя для повышения прав пользователя

Всё так. sudo надо выполнять для запуска команд от имени другого пользователя, а не для повышения прав. Спасибо, Капитан.

Camel ★★★★★
()

Замена системных компонентов производится в рамках инициативы по повышению качества системного окружения через поставку программ, изначально разрабатываемых с оглядкой на безопасность, надёжность и корректность.

А есть сравнительная таблица: sudo vs sudo-rs? Ну посмотреть чем одно лучше другого?

Kolins ★★★★★
()
Последнее исправление: Kolins (всего исправлений: 1)
Ответ на: комментарий от unC0Rr

А это что такое?

Ваш сильный аргумент.

И таки защитит ли нас от подобного растишка? Там ошибка в работе с памятью или в алгоритме?

Camel ★★★★★
()
Последнее исправление: Camel (всего исправлений: 1)
Ответ на: комментарий от PunkPerson

Копроэкономикой они страдают, на мой взгляд.

Программа, написанная на «комитетном» Си, может работать десятилетиями. А Раст детище одной команды, завтра она всё сломает (*), соответственно, весь растокод придётся переписывать. У железяк запланированное устаревание есть, а у программ нет, это крайне возмутительно и должно быть исправлено.

Кстати, в эту гипотезу также хорошо укладывается объяснение, почему вместо разработки протокола X12, включающего в себя X11 в качестве поддерживаемого подмножества, пропихивают Wayland, который всё, что можно, перекладывает на тулкиты.

(*) Насчёт «завтра сломает» это весьма вольная гипотеза, конечно, но если с питоном прокатило, почему с растом не может прокатить?

(**) И да, специально для персонажей, выучивших вместо контраргументов баззворды «теория заговора» и «жидорептилоиды» – сперва посетите Википедию.

(***) Против раста как такового ничего особенно не имею, хотя претензии по мелочи есть, да и отсутствие стандарта и диверсификации компиляторов – фактор риска.

hobbit ★★★★★
()
Последнее исправление: hobbit (всего исправлений: 2)
Ответ на: комментарий от unC0Rr

Так отлажено-переотлажено или нет?

А вы сами не видите? Вам моя подсказка нужна?

Camel ★★★★★
()
Ответ на: комментарий от hobbit

почему вместо разработки протокола X12, включающего в себя X11 в качестве поддерживаемого подмножества, пропихивают Wayland, который всё, что можно, перекладывает на тулкиты

Потому что тулкиты и так занимались большинством задач, а X11 представляет собой тяжкое легаси.

liksys ★★★★
()
Последнее исправление: liksys (всего исправлений: 1)
Ответ на: комментарий от Camel

sudo надо выполнять для запуска команд от имени другого пользователя

поправка: sudo надо выполнять для запуска команды su -

borisych ★★★★★
()
Ответ на: комментарий от hobbit

Так C точно так же ломают, как и Rust. void f() раньше означал функцию с произвольным числом аргументов, в последнем стандарте это стала функция без аргументов. Всё, код не компилируется. Вводят новые ключевые слова, старый код с этими словами не компилируется.

Программа или живёт, или умирает. Если программа живёт, адаптироваться к изменениям языка она может. Если программа умерла, её надо собирать древними компиляторами в древнем окружении. Как на C, так и на Rust.

vbr ★★★★★
()
Ответ на: комментарий от borisych

И sudo и su из линукса надо гнать поганой метлой. Если хочешь выполнить команду от рута, переключись на текстовый терминал и залогинься там.

vbr ★★★★★
()
Ответ на: комментарий от Kolins

А есть сравнительная таблица: sudo vs sudo-rs? Ну посмотреть чем одно лучше другого?

А есть сравнительная таблица: sudo vs OpenDoas?

dataman ★★★★★
()
Ответ на: комментарий от liksys

тулкиты и так занимались большинством задач,

И в итоге winapi из wine теперь юниксвейнее, легче, эффективнее, молодёжнее всего говна, какое насовали в тулкиты.

Shadow ★★★★★
()
Ответ на: комментарий от hobbit

Программа, написанная на «комитетном» Си, может работать десятилетиями. А Раст детище одной команды, завтра она всё сломает

напомнило историю о том, что киноархивы до сих пор переписывают современную видеопродукцию на плёнку потому что это единственный проверенный временем (>100 лет) способ хранения информации.

я думаю, здесь действиет тот же принцип. Rust не конкурент С только по принципу проверенности временем, но не технологически, конечно.

это тоже самое как и в крупных компаниях до сих пор работающий продакшн на древнем COBOL’e , хотя он и соседствует с приложенями на молодом Go (а иногда и обёрнут в них).

flant ★★★★
()
Ответ на: комментарий от Shadow

Иногда надо например в каком-нить gparted-е чего-нибудь ковырнуть. И в подобном софте, где нужен и гуй и доступ к железу)

frunobulax ★★★★
()
Ответ на: комментарий от frunobulax

Ну, я деталей не знаю, сам не программировал, но можно повысить права в софте. Ну, если правильно написан.

Shadow ★★★★★
()
Ответ на: комментарий от Shadow

Я тоже как в тумане сейчас, но если память не изменяет - софт-то как раз написан и дёргает права, но если sudo нет или юзер не в группе то нужное окошко не дёрнется и права не повысятся.

Как мне думается это уже больше из старой битвы безопасность vs удобство. Там где нужно безопасно, там и не будет никакого sudo и ему подобных в принципе. И все админ. функции будет делать специально вызванный с письменно оформленным обознованием человек)

frunobulax ★★★★
()
Ответ на: комментарий от vbr

Это как в ВинХР что ли?)) создать отдельного пользователя с root правами, и переключаться на него каждый раз когда нужно будет повысить привилегии для того что бы залезть в репозиторий или поправить конфиг?

Ну, это такое…

UriZzz ★★
()
Ответ на: комментарий от seiken

Да никак! Просто к Расту бумажку написали, что он типа безопасный. С растом теперь, после всех этих меморандумов от разведок, так же как с «сертифицированным ПО» в России. Типа все написанное на «расте с меморандумом» дыр не имеет и раст рекомендован к переписыванию на нем всего.

gns ★★★★★
()
Последнее исправление: gns (всего исправлений: 1)

Бубунта рвется к госзаказу, не иначе...

gns ★★★★★
()
Ответ на: комментарий от vbr

Так C точно так же ломают, как и Rust.

Для этого существует прямое указание стандарта, например -std=c99.

Так что ваши возражения выдуманные.

jpegqs
()
Ответ на: комментарий от hobbit

Теория заговора

посетите Википедию

В Википедии содержится очень много теорий заговора.

Основная цель понятия «запланированное устаревание» — это не цель привлечь производителей к ответственности за обман. Такие случаи — огромная редкость и их сложно доказать. Основная цель — это научить видеть злой умысел в любой поломке и любом коммерческом предприятии. Айфон тормозит — ах злые корпы. Лампочка перегорела — ах злые корпы. Новый язык программирования — ах злые корпы. Всё это является прикрытием желания национализировать экономику.

Зачем нам учитывать закон спроса и предложения, другие производственные ограничения? Просто сдай ЕГЭ по обществу на 100 баллов и скажи людям, что ты можешь им дать всё что угодно, а «корпы» by design морально испорчены. Чем дальше будешь оторван от реальности — тем больше тебя полюбят.

kaldeon
()
Последнее исправление: kaldeon (всего исправлений: 1)
Ответ на: комментарий от kaldeon

«корпы» by design морально испорчены

Разве это не так?

Чем дальше будешь оторван от реальности

В том что «корпы» испорчены и есть наша реальность. Но у вас, наверное, реальность какая-то своя, где добрые корпорации сеют добро, а глупенькие параноидальные потребители отвергают это добро под надуманными основаниями.

jpegqs
()
Ответ на: комментарий от jpegqs

Разве это не так?

Нет, это не так. Зачастую злодеяния, которые приписывают корпам, можно объяснить. Rust — это самый популярный язык, который программисты любят и хотят поскорее увидеть широту его применения. Программисты сами задали этот тренд, реакция Canonical естественна. И так можно найти объяснение практически всегда, но нас учат во всём видеть зло при каждом удобном случае.

Но у вас, наверное, реальность какая-то своя, где добрые корпорации сеют добро

Ну вообще-то да. Можете почитать The Assault on Corporations за подробностями

глупенькие параноидальные потребители

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

Edit: пофиксил paywall-ссылку

kaldeon
()
Последнее исправление: kaldeon (всего исправлений: 4)
Ответ на: комментарий от kaldeon

Rust — это самый популярный язык,

Доказательства будут? Не видел еще ни одного рейтинга, где раст был самым популярным.

который программисты любят и хотят поскорее увидеть широту его применения.

Опять, где доказательства, есть независимые (от пиарщиков Раста) опросы?

но нас учат во всём видеть зло при каждом удобном случае.

Никто меня этому не учил, пришел к тому сам. Это называется мудрость, приходит с возрастом и опытом.

jpegqs
()
Ответ на: комментарий от jpegqs

Доказательства будут?

Глаза — вот мои доказательства. Об этом расте трещат изо всех щелей.

Это называется мудрость, приходит с возрастом и опытом

Если вы не можете представить, чтобы человек в вашем возрасте и с вашим опытом пришёл к противоположным убеждениям, то на мудрость это не тянет. Без предписывания медицинских диагнозов, которыми чуть ли не каждый «мудрец» объясняет своё превосходство.

kaldeon
()
Последнее исправление: kaldeon (всего исправлений: 2)
Ответ на: комментарий от kaldeon

Можете почитать The Assault on Corporations за подробностями

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

Вот эти ваши заявления, никак по вашему на паранойю не похожи? В которой вы обвиняете других. Только с другим знаком.

А я вижу в этом паранойю. Корпорациям не нравится (не)справедливая критика, и они ищут в этом заговор неких «интеллектуалов», заказывают жалобные проплаченные статейки.

P.S.: Больше не буду в этом споре участвовать, просто триггернула такая наглая защита раста & корпораций.

jpegqs
()
Ответ на: комментарий от vbr

может не надо? sudo отлично выполняет задачу «стать админом на 5 минут», а тут регистрироваться надо в отдельном окне

Undeadguy
()
Ответ на: комментарий от hobbit

Сразу видно людей, которые ни строчки на расте не написали, и даже документацию ни разу не открывали.

В расте существуют редакции, которые замораживают состояние языка в определенной точке во времени. Так же как стандарты C99, C11, C++11, C++17 итд.

То есть если код написан на редакции Rust 2021, он таким остается навсегда, и будет компилироваться в исходном виде спустя десятилетия, так же как и си.

greedyskoof
()
Ответ на: комментарий от jpegqs

Против корпораций ведут активную борьбу интеллектуалы.

Вот эти ваши заявления, никак по вашему на паранойю не похожи?

Это правдивые заявления. Если вы откроете ту статью и введёте в поиск «intellectual», то увидите с десяток примеров, начиная с небезызвестного Комского. Некоторые буквально посвящают этому всю жизнь.

kaldeon
()
Ответ на: комментарий от jpegqs

Именно так. Во всей тройке C, C++, Rust проблема решается указанием редакции языка.

Хотя вот недавний релиз GCC 15 таки сломал довольно много кода, и мы в Арче фиксили огромное количество пакетов, которые с ним перестали собираться.

Проблема конечно в основном исходит из того, что многие проекты на C/C++ просто забивают на указание редакции в своих скриптах сборки. В Rust с этим как раз даже получше, потому что cargo принуждает указать используемую редакцию языка в конфиге проекта.

greedyskoof
()
Последнее исправление: greedyskoof (всего исправлений: 1)
Ответ на: комментарий от jpegqs

Для этого существует прямое указание стандарта, например -std=c99.

В Rust тоже существует.

vbr ★★★★★
()
Ответ на: комментарий от hobbit

посетите Википедию

Интересно происхождение этого понятия. В 1924 году оно (под другим названием) использовалось автомобильной компанией General Motors, чтобы убедить людей покупать новые запчасти. Да, это маркетинговая уловка, но не больше.

А в 1932 году некий Bernard London предложил ввести законодательное устаревание, которое запрещало бы использовать старые продукты. Это уже нечто значительно больше, чем маркетинг. Автокомпании по крайне мере не были против, чтобы люди ездили на старых машинах.

И сегодня в этом умысле обвиняют корпорации, хотя они даже не надеятся сделать что-либо подобное.

kaldeon
()
Последнее исправление: kaldeon (всего исправлений: 1)
Ответ на: комментарий от jpegqs

Разве это не так?

Ничем не отличается от моральной испорченности общественного сортира, например. Я к тому, что «корпы» - это естественно. А гаджеты тормозят от головотяпства. Никто не будет нанимать звёзд демо-сцены для разработки софта не по злому умыслу.

Shadow ★★★★★
()
Ответ на: комментарий от Undeadguy

может не надо?

Но было бы неплохо.

sudo отлично выполняет задачу «стать админом на 5 минут», а тут регистрироваться надо в отдельном окне

Нет, не отлично. sudo требует suid флага. Уязвимость в sudo нередко приводит к повышению привилегий. При этом в sudo очень много функционала, очень много кода, грузит разные библиотеки, и всё это запускается от рута, всё это угроза для повышения привилегий. И разнообразные CVE это практическая демонстрация того, что вышеизложенное - не теоретические опасения.

Даже ssh root@localhost это лучшая замена для sudo на мой взгляд…

vbr ★★★★★
()
Последнее исправление: vbr (всего исправлений: 1)
Ответ на: комментарий от gns

А что должно произойти? За последние 10 лет же ничего не случилось. Программы, написанные на Rust 2015, все так же собираются и работают.
А сейчас, когда его стали использовать повсюду, включая крупные проекты типа ядра, тем более ничего не случится. Не за жалкие 5 лет уж точно.

greedyskoof
()
Ответ на: комментарий от vbr

И разнообразные CVE это практическая демонстрация того, что вышеизложенное - не теоретические опасения.

Я не безопасник, трудно с этим спорить.

При этом в sudo очень много функционала, очень много кода, грузит разные библиотеки, и всё это запускается от рута, всё это угроза для повышения привилегий.

Ну так потому ее и обкатывают больше 20 лет вроде…

ssh root@localhost

ПХАХ, гениально!

Undeadguy
()
Ответ на: комментарий от greedyskoof

За последние несколько лет много было разочарований в технологиях. Руст продвигают не потому, что он «лучше всех», но потому, что какой-то мудак во власти в разных странах сказал, что он хорош. За растом нет инженерного гения, за ним только политика. А это не надолго.

А сейчас, когда его стали использовать повсюду, включая крупные проекты типа ядра,

Вот сколько не собирал ядро, так раст мне там не пригодился. Пока он в стороне и критически важные компоненты на нем не завязаны. К счастью. Из того, что раст в ядро пихают не следует, что он там сильно нужен.

Что называется, хозяина дома сильно попросили пригласить на званый ужин гостя, который не нравится всем присутствующим, но сильно поднимает статус мероприятия.

gns ★★★★★
()
Ответ на: комментарий от seiken

Тут дело не только в языке кстати.

sudo-rs на самом деле не является 1 в 1 реврайтом оригинального sudo и совместим с ним только довольно условно. Большая часть расширенного функционала, о котором большинство пользователей даже не догадывается, просто выкинута. Включая ту фичу с чтением /etc/nsswitch.conf.

Это всегда была одна из главных претензий к sudo - он слишком переусложнен и напичкан неочевидными фичами, что приводит к увеличению поверхности атаки.

В sudo-rs оставлен только самый базовый набор функций, который покрывает потребности 99% пользователей. Что скорее больше роднит его с doas, чем с оригинальным sudo.

greedyskoof
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.