URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 130343
[ Назад ]

Исходное сообщение
"Проект по реализации утилит sudo и su на языке Rust"

Отправлено opennews , 29-Апр-23 21:20 
Организация ISRG (Internet Security Research Group), которая является учредителем проекта Let's Encrypt и способствует продвижению HTTPS и развитию технологий для повышения защищённости интернета, представила проект Sudo-rs по созданию написанных на языке Rust реализаций утилит sudo и su, позволяющих выполнять команды от имени других пользователей. Под лицензиями Apache 2.0 и MIT уже опубликована предварительная  версия Sudo-rs, пока не готовая к повсеместному использованию. Проект, работа над которым началась в декабре 2022 года, планируют завершить в сентябре 2023 года...

Подробнее: https://www.opennet.me/opennews/art.shtml?num=59053


Содержание

Сообщения в этом обсуждении
"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 29-Апр-23 21:20 
Пусть лучше мир прогнётся под rust...

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено EuPhobos , 29-Апр-23 21:23 
Всё заржавеет

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 29-Апр-23 22:27 
За rust'ом не заржавеет

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Tron is Whistling , 29-Апр-23 22:33 
Мир-то ничего, но вот насчёт того, что кому-то здесь за новости о таковом возможно приплачивают, уже давно есть определённые предположения.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 30-Апр-23 01:18 
Противный rust не разрешает писать что-то вроде
int x[24];
char *y=x[-1];
и требует всякое, чему на курсах "как стать сеньором в с++ с нуля за две недели" не учат. Ну там не писать или читать по указателю если он не инициализирован или после того, как на указатель free сделано. Это нарушает мою свободу!!расрас


"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 30-Апр-23 01:39 
>создать соломенное чучело
>победить его

Классика.


"Проект по реализации утилит sudo и su на языке Rust"
Отправлено n00by , 30-Апр-23 07:21 
> rust не разрешает писать что-то вроде
> int x[24];
> char *y=x[-1];

Воистину чудеса творит!

$ cat rust.cpp
// let us pray to great Cargo
void rust()
{
  int x[24];
  char *y=x[-1];
}

$ g++ rust.cpp
rust.cpp: В функции «void rust()»:
rust.cpp:5:15: ошибка: invalid conversion from «int» to «char*» [-fpermissive]
    5 |   char *y=x[-1];
      |           ~~~~^
      |               |
      |               int


"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 30-Апр-23 07:41 
А это ничего что в примере я обращался к -1 элементу массива, то есть по факту - фиг знает куда?

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено n00by , 30-Апр-23 07:45 
> А это ничего что в примере я обращался к -1 элементу массива,
> то есть по факту - фиг знает куда?

Это совершенно естественно, поскольку Вы не имеете ни малейшего представления о языке и std::array.


"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 30-Апр-23 08:01 
Мои знания C++ заканчиваются 11 версией стандарта, что после нее поменялось - без понятия. Но вот чужой код, в подобном стиле написанный, видеть доводилось. Обычно бывает когда ты на плюсы с обычного C приходишь и пишешь как там привык без всех этих контейнеров и прочего добра.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено n00by , 30-Апр-23 10:11 
Знания плюсов начинаются с понимания концепции итераторов и контейнеров, их ввели ещё Степанов и Ли. std::array должен быть в стандарте 11 года. Лично для Вас я не полезу его цитировать -- Вы же его знаете и сами найдёте.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 02-Май-23 00:35 
>Знания плюсов начинаются с понимания концепции итераторов и контейнеров

Итераторы и контейнеры, которые stl-ные, это не более чем удобное приложение к плюсам, хоть и внесенное в стандарт. Если пишешь что-то, не обремененное требованиями, то сойдет их использование. В противном случае, никакого stl, там одни тормоза.На выхлопе код получает сильно похожим на Си, как не извращайся.


"Проект по реализации утилит sudo и su на языке Rust"
Отправлено n00by , 02-Май-23 09:14 
> Если пишешь что-то, не обремененное
> требованиями, то сойдет их использование.
> В противном случае, никакого stl, там
> одни тормоза.

А если у меня есть реализация "stl", опровергающая мрии эксперта?


"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 02-Май-23 12:02 
Вот и юзай сколько влезет, и не лезь к экспертам.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено n00by , 02-Май-23 12:51 
Так ты сам ко мне лезешь с антинаучной ересью.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 02-Май-23 16:11 
Выдыхай, просто сообщил как оно у серьезных дяденек, а ты тут со своими мриями и фантазиями полез.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено n00by , 03-Май-23 14:42 
Скажи, кто из "серьёзных дяденек" тебя послал ко мне? И зачем он взял тебя в ученики, когда ты не умеешь смотреть ассемблерный листинг?

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Tron is Whistling , 30-Апр-23 08:48 
Феерически унылый пример, который разве что ну совсем уж чайник напишет.
А вообще обращение к отрицательным элементам может быть вполне осмысленным.
Но да, привычка себя ограничивать во имя - такая привычка.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 30-Апр-23 08:55 
> Феерически унылый пример, который разве что ну совсем уж чайник напишет.

Либо выпускник какого-нибудь скиллбокса с нетологией. Их сейчас развелось как грязи.

> А вообще обращение к отрицательным элементам может быть вполне осмысленным.

Например? Не в целях флейма, просто интересно как может быть осмысленным залезание в чужую область памяти.


"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Tron is Whistling , 30-Апр-23 09:12 
Почему в чужую? Если указатель на некий массив данных сознательно находится не в начале блока данных.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Tron is Whistling , 30-Апр-23 09:14 
Но это всё опять идёт от той логики, которой сявки, не видевшие ничего кроме языкамов сверхвысокого уровня, вообще себе не представляют.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 30-Апр-23 09:15 
Вообще, operator[] может быть переопределён и вы там можете делать, что хотите. Другое дело, что стандартная сигнатура этого оператора подразумевает аргумент типа std::size_t, а не int. Так что индекс -1 - это немного странно, я такого никогда в рабочем коде не видел.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 30-Апр-23 09:26 
А что-нибудь вроде:
int x[24]; int y=0; int z=x[--y];

Я вот видел и это был не мой код. Отловил когда сегфолты достали.


"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 30-Апр-23 09:35 
Ну это дичь, конечно, да.
Этот пример любой статический анализатор поймает, я думаю.
В то же время, если кто-то такое пишет, его надо отправлять учиться дальше, тут уже не важно на чём он пишет, его нельзя к коду подпускать, он и на rust найдёт способ себе голову отстрелить.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Tron is Whistling , 30-Апр-23 09:38 
С чего бы дичь.
У меня поинтер может в силу определённых причин показывать например на элемент P=N+M, а мне надо достать элемент P-1.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено scriptkiddis , 01-Май-23 22:53 
Тихо ты, в их мире такого не бывает

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Tron is Whistling , 30-Апр-23 09:39 
А, фак, сорян, не на тот ответ ответил.
Это в продолжение моего поста выше об отрицательных индексах и логике.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним123 , 30-Апр-23 09:49 
$ cat q.c
#include <stdio.h>
int main()
{
  int x[24]; int y=0; int z=x[--y];
  printf("y: %d", z);
  return 0;
}
$ gcc q.c -Wall -Wextra -Wuninitialized
q.c: In function ‘main’:
q.c:4:27: warning: ‘x[y]’ is used uninitialized in this function [-Wuninitialized]
    4 |   int x[24]; int y=0; int z=x[--y];
      |
$ cppcheck q.c  --enable=all
Checking q.c ...
q.c:4:30: error: Array 'x[24]' accessed at index -1, which is out of bounds. [negativeIndex]
  int x[24]; int y=0; int z=x[--y];
                             ^
q.c:4:20: note: Assignment 'y=0', assigned value is 0
  int x[24]; int y=0; int z=x[--y];
                   ^
q.c:4:30: note: Negative array index
  int x[24]; int y=0; int z=x[--y];
                             ^
q.c:4:7: style: Variable 'x' is not assigned a value. [unassignedVariable]
  int x[24]; int y=0; int z=x[--y];
      ^
nofile:0:0: information: Cppcheck cannot find all the include files (use --check-config for details) [missingIncludeSystem]


"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 30-Апр-23 15:05 
Не используй cppcheck, возьми smatch, как белые люди.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним123 , 30-Апр-23 09:45 
При всём уважении к Расту, чтобы найти все ошибке в этом С коде достаточно собирать с gcc -Wall -Wextra -Wuninitialized и запускать cppcheck --enable=all.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено n00by , 30-Апр-23 10:32 
В том то и дело, что код на Си. А заявлен автором как Си++. :)

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено wyry , 30-Апр-23 11:32 
А вы не подсказывайте xD. Подобные "примеры" лишь дискредитируют их авторов. И вообще проблемы с доступом к чужой памяти уже не слишком актуальны, если у разработчика достаточная квалификация, а более сложные проблемы, например, "висячие" ссылки им недоступны, т.к. те, у кого лишь поверхностные знания даже не будут знать как такое возможно.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено hex , 30-Апр-23 12:08 
> И вообще проблемы с доступом к чужой памяти уже не слишком актуальны

Чта? Квалификация квалификацией а человеческий фактор никто не отменял. Если язык позволяет просто по невнимательности допустить настолько серьезные ошибки то это плохой язык. Мелкомягкие тоже все на расте переписывают, по их статистике 70% уязвимостей связаны именно с управлением памятью. Наверное там разрабы с недостаточной квалификацией работают?


"Проект по реализации утилит sudo и su на языке Rust"
Отправлено n00by , 30-Апр-23 14:01 
Мы как раз и наблюдаем этот человеческий фактор. Автор примера по невнимательности перепутал языки, по невнимательности заявил, что std::array в стандарте 11го года отсутствовал, по невнимательности приписал свою компетенцию каким-то сказочным сеньорам-помидорам. Из этого сделал вывод, что Rust всех спасёт.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 02-Май-23 00:36 
>Наверное там разрабы с недостаточной квалификацией работают?

Удивительно, правда.


"Проект по реализации утилит sudo и su на языке Rust"
Отправлено n00by , 30-Апр-23 14:05 
Дело в том, что тут в силу специфики сайта в основном программисты на Си, и они могут принимать вот те примеры за чистую монету. Мне довелось повидать удивительный код на плюсах, но обычно там вместо int x[24]; что-то типа vector<vector<string>>.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Tron is Whistling , 30-Апр-23 08:44 
У вас часто есть желание такое написать?
Если да - рекомендую профильного специалиста от медицины.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 30-Апр-23 08:56 
У меня - нет. Зато у других судя по основной массе CVE есть и желание, и возможности.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 01-Май-23 16:27 
>судя по основной массе CVE

И когда успел изучить большинство существующих CVE, чтобы такое утверждать? Это же сколько всего можно было "переписать на Расте" за это время, страшно подумать.


"Проект по реализации утилит sudo и su на языке Rust"
Отправлено maximnik0 , 30-Апр-23 04:31 
Это вы ещё вы битв насчёт явы не застали.Ух сколько криков было...все пройдет, как и net.Тишина какая то сейчас этой платформы,а сколько криков тоже стояло.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Neon , 30-Апр-23 06:30 
Это да, а ведь как рекламировали очередную серебрянную пулю))).

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Tron is Whistling , 30-Апр-23 08:50 
Ну, в отличие от этого, жаба с ботнетом таки заняли свои огромные ниши.
А это будет валяться примерно рядом с рубями и гошекой, и чего там ещё такого было.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Бывалый смузихлёб , 30-Апр-23 11:45 
так они не сами по себе заняли - за ними стояли огромные конторы и жирнющие стеки

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Tron is Whistling , 30-Апр-23 12:00 
Ну, жирнее гугла не видно :)

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним123 , 30-Апр-23 08:57 
И джава и .нет не позиционировались как замена С. Раст позиционируется, на нём пишут драйвера, браузеры, операционные системы.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Tron is Whistling , 30-Апр-23 12:00 
> И джава и .нет не позиционировались как замена С. Раст позиционируется, на нём пишут хеллоуворлды

Fixed


"Проект по реализации утилит sudo и su на языке Rust"
Отправлено maximnik0 , 30-Апр-23 12:15 
>И джава и .нет не позиционировались как замена С.

Ява обновлялась как язык общего применения.Есть реализация очень близкая к  C.Просто эта была не "безопасная" ява,очень урезанная по проверкам,но лучше чем в С. Java SE embedded- не рекламируют,но до сих пор поддерживают.А про  RTSJ не забыли ?  (Real-Time Specification for Java)


"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 29-Апр-23 21:24 
Идея плоха тем, что rust до сих пор нормально не портирован на все архитектуры, которые поддерживаются C.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 29-Апр-23 21:28 
А что, sudo поддерживает какие-то эзотерические архитектуры?

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 29-Апр-23 21:30 
Конечно. C гораздо проще портировать на новые архитектуры, по сравнению с rust. Пример – e2k. Но у rust и без e2k полно архитектур с tier не первой поддержки.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 29-Апр-23 23:04 
А что, так сложно добавить поддержку архитектуры в современный компилятор, который уже десятки архитектур поддерживает (и инфраструктура в коде заложена)?

По-моему это плевое дело для одного, максимум нескольких full-time программистов.

Это лишь показывает абсолютную, крайнюю ненужность и нишевость этих архитектур. Ну значит и без sudo поживут))


"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 30-Апр-23 06:30 
Абсурдные нишевые архитектуры могут продолжать собираться из старых исходников на С. Я просто не понимаю проблемы, с появлением второй реализации на Rust, Си реализацию никто не отнимает и не удаляет. Ни разу не растоман, но некоторые вопли на оппеннете достигают истерии.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено kusb , 01-Май-23 01:08 
В основном считается что Антагонист неадекватен. Так что они испортят старую реалиазацию чтобы протолкнуть раст. И вообще они растут не техническими методами.
Я не верю, но таков путь, убедительного не очень много, но как со многими теориями заговора - они  стоят на отражении правды.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Tron is Whistling , 30-Апр-23 09:40 
Очень сложно. Особенно для архитектуры, которая в силу отсутствия рантайм-оптимизации превращает статическую оптимизацию в ад.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Анонин , 30-Апр-23 00:20 
Мне кажется сложно придумать худший пример чем e2k...
Закрытый компилятор, полусекретная архитектура, сорцы, которые они были обязаны открыть, открылись по "счастливой случайности", отсутствие в свободной продаже, отсутствие производства, недоступность в 99,9% стран. Думаю он просто может служить эталоном ненужности.

С другой стороны, у разбрабов e2k наверняка есть настолько круты спецы, что им добавить бек в llvm как два байта. Правда ведь))


"Проект по реализации утилит sudo и su на языке Rust"
Отправлено ACCA , 30-Апр-23 08:45 
Компилятор не столько закрытый, сколько непонятный тебе долгое время. Ты вообще там ничего не поймёшь. Чтобы не разбираться с дол***ми, объявили закрытым. Просто поверьте на слово - это вывих мозга. Но работает.

LLVM там строго ортогонален. Он вообще не в курсе про dataflow.


"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Бывалый смузихлёб , 30-Апр-23 11:49 
есть смутное подозрение, что ллвм - не универсальное решение и сколь-нибудь легко к нему прикручиваются лишь некоторые архитектуры и их производные
всё-таки, Эльбрус - не очередной чуть перепиленный арм или х86

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 01-Май-23 18:16 
Пока не стояла задача имитации бурной деятельности и импортозамещения, была нормальная платформа SPARCv8 и SPARCv9. Если верить веб архиву, то до 2014 года оно работало на солярисе и горя не знало.
Ну а рас уж начали скрывать платформу своего железа и специально делать его несовместимым с оригиналом, то и портированием всего сами занимайтесь.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено пох. , 30-Апр-23 12:51 
> А что, sudo поддерживает какие-то эзотерические архитектуры?

sudo - нормальная *nix программа. Нужно очень постараться найти такую архитектуру где как-то запускается gcc (насчет произвольного cc уже надежды особо нет, хотя лет десять назад это и было возможно) и при этом не соберется или не будет работать sudo.


"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Советский инженер , 01-Май-23 04:36 
gcc, например, есть и для AVR. А вот sudo для AVR не нужен.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено пох. , 01-Май-23 11:06 
> gcc, например, есть и для AVR. А вот sudo для AVR не
> нужен.

avr уже тоже низачем не нужен. И unix-like операционок для него не существует.

И да, ответь мне, совкодр-р - разделение привиллегий даже в самом низкоуровневом контроллере - это плохо или совсем плохо?


"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 01-Май-23 18:33 
Раст для AVR не нужен тем более.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Анонимусс , 29-Апр-23 21:32 
А у вас разве кто-то отбирает старый sudo?
На маргинальщину ставьте что есть, в чем проблема.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 29-Апр-23 21:33 
> маргинальщину

Это rust.


"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 29-Апр-23 21:36 
>кто-то отбирает старый sudo

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


"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Срыватель покровов , 29-Апр-23 21:49 
Так это проблема Devuan, Void Linux, Gentoo в том, что его пользователи занимаются бесполезной работой. Первые, так вообще не сумели построить свой дистрибутив, а тупо перепаковывают пакеты из Debian до сих пор. Вторые заняты бесполезной кастомизацией ради кастомизации из разряда "всё есть bloat, что имеет GUI". Третьи это любители компилировать всю ночь, чтобы на утро получить программу с невоспроизводимыми ошибками и совершенно того не стоящим ростом производительности.
Зато не СистемДэ, угу.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Diozan , 29-Апр-23 22:21 
Gentoo не трогать! Там как хочешь. Хочешь с Systemd, хочешь без него. Не понятно, чего его все так боятся?

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 29-Апр-23 22:54 
Заменить rust будет сложнее. А так же проблемы, что и в девуан.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Анонин , 29-Апр-23 23:52 
Его не бояться. Просто не все получают удовольствие от процесса компиляции, разруливания ошибок Portage или подбор use-flags, чтобы выиграть пару процентиков и при это ничего не сломать.
Особенно если это обычный комп, а не суперкомпьютер какой-то.
Это время можно потратить на что-то более полезное.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Diozan , 01-Май-23 20:44 
> Его не бояться. Просто не все получают удовольствие от процесса компиляции...

С Ваших слов, так кто-то кого-то силком заставляет компилировать.... Под дулом пистолета.... А он упирается, не хочет....

> разруливания ошибок Portage или подбор use-flags

Это делается один раз и надолго. Тем более, работа творческая, т.е. приносящая удовольствие.

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


"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Анонин , 01-Май-23 21:06 
Не то чтобы "силком заставляет", но гента подразумевает компиляцию всего там скажем by design.
Да, там появились бинарные оверлеи... но тогда какой смысл ставить генту.

> работа творческая, т.е. приносящая удовольствие.

Сложно сказать, можно ли подбор флагов назвать творческой работой... но даже если так, не каждая творческая работа приносить удовольствие конкретному индивидуму. Кто-то хочет быстро все установить и начать писать код, или музыку, или рисовать. А не перебирать флаги.

> А Генту всех уравнивает.

Возможно это полезно. В некоторых случаях. Но не у всех есть зоопарк. И всем нужно уравнивание.
Вообще сложно представить, зачем нужна одинаковая конфигурация на рабочей машине, на банане-файлопомойке и напр. на малинке-приставке-к-тв. У каждой из них своя задача.


"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 30-Апр-23 15:05 
>Не понятно, чего его все так боятся?

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


"Проект по реализации утилит sudo и su на языке Rust"
Отправлено dannyD , 29-Апр-23 23:05 
>>это проблема Devuan, Void Linux, Gentoo в том, что его пользователи занимаются бесполезной работой.

ну они хотя бы не слабоумные, как всякие бубунтари.


"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 30-Апр-23 11:04 
А им не интересно бодаться с мастурбутивом. Они работу работают и развлечениями развлекаются. Для бубунтарей бубунтячка - это ОС для запуска прикладных программ.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено dannyD , 30-Апр-23 22:15 
Ну да, Киркоров тоже певец - песни ртом поёт и музыка, музыка у него хорошая.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 01-Май-23 08:50 
Мы не о киркорове, а о бубунте. Поверь, многим нужно чтобы работало, а не то какая реализация судо сегодня.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено dannyD , 01-Май-23 09:25 
Да, мы о бубунте.

бубунта это помойка по принципу "А теперь со всем этим г... мы попытаемся взлететь..."

давно известно: что у человека на компе, что в бельевом шкафу, что в мозгах и жизни - бардак всегда один и тотже.

но удобненько, ибо пятой точке так нужен покой.


"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Анонимусс , 29-Апр-23 21:51 
Ну так разве это не прекрасно - маргинальным платформам маргинальный софт!
Нужно только добавить маргинальных юзеров и баланс будет соблюден.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 29-Апр-23 22:04 
Забавно это слышать среди линуксоидов.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 29-Апр-23 22:57 
Только ты забыл один нюанс. В разряд маргинального переходит некогда стабильный и отлаженный софт. Точнее не сам переходит, а его туда загоняют пинками. Усилием левой пятки корпораций.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Анонимусс , 30-Апр-23 00:12 
> некогда стабильный и отлаженный софт

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


"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 30-Апр-23 00:34 
Так на rust не только sudo переписывают, но и под линукс уже драйверы клепают. Лет через 5 захочешь запустить старую железку, а тут выясняется, что всё. Сишный драйвер хоть и собирается, но по дефолту нигде не ставится, а следовательно никто даже не знает, что его поломали после n-й итерации по смене api.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 30-Апр-23 11:11 
Вопрос насколько железяка старая? Если AMD-k6, то antix-16 с очень даже современным софтом. Не знаю, стоит ли там с растом заморачиваться, но когда у тебя 96МБ ОЗУ, то как-то не особо хочется.
Или для самых хардкорных пацанулов всегда есть Красная Ненависть 9, та что 2003 года, с 2.4 ведром и сырцами ко всему.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Анонимусс , 30-Апр-23 00:14 
Ну и второе.
Просто привыкнете уже, линукс - это корпорации. 80%+ разрабов на зп у корпов. Процент кода тоже зашкаливает.
Он существует на их деньги, он реализует их потребности.
Васяны-одиночки сейчас только и могут, что перепаковывать чужие пакеты в очередной нескучный девуан.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 30-Апр-23 00:38 
А тут без васянов-одиночек никак. Корпорации выпускают сырой и неотлаженный продукт вроде федоры, который через полгода можно уже выкидывать. Вот и приходится каждому лепить свою сборочку с более менее отлаженным софтом и как-то пытаться это дело фиксить и поддерживать.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Бывалый смузихлёб , 30-Апр-23 11:53 
Он впилился не сам-собой, а по желанию крупных контор
Что крайне наглядно показывает реальное отношение владельцев и дистров и многого иного ко мнению рядовых пользователей. Единственное на что им пока что оставили право - это быть бесплатными подопытными хомяками для тестирования и доработки системы

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено анонимозрнщьпр , 29-Апр-23 21:48 
> На маргинальщину ставьте что есть, в чем проблема

а потом ты же будешь ныть про "ой че за зоопарк развели"


"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Анонимусс , 29-Апр-23 22:21 
Так уже сейчас есть зоопарк. Точнее один типа "стандарт" в виде sudo и зоопарк всего остального.
А так судо просто переместится во вторую группу. И все.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 29-Апр-23 22:21 
> А у вас разве кто-то отбирает старый sudo?

Хитрые маркетологи, продвигающие rust, отлично знают народ и что он выберет.


"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 30-Апр-23 00:40 
Можно подумать, выбор кто-то предоставит. Собрать старый sudo, конечно, никто не помешает, но сделать это смогут единицы с неограниченным свободным временем.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 30-Апр-23 11:14 
Программа не сложная, её по-любому кто-то сможет поддерживать в собирабельном состоянии. И даже пакеты собирать, или статические бинари.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 29-Апр-23 22:30 
> На маргинальщину ставьте что есть, в чем проблема.

А вЫ себя к "золотой молодежи" причисляете или написали много качественного софта, чтобы так отзываться о легаси?


"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Анонимусс , 29-Апр-23 23:58 
Причем тут софт, если речь об архитектурах?
Да, есть куча архитектур, которые устарели, процессоры для них не выпускаются, складские запасы исчерпаны и единственное место где их можно найти - на барахолках и в гаражах энтузиастов.
Более того, современные кода на них работают только в теории, потому что у разработчиков и ментейнеров обычно нет соответствующего железа для полноценного тестирования.
Тормозить прогресс ради них - крайне эгоистично.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 30-Апр-23 00:02 
>Тормозить прогресс ради них

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


"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 30-Апр-23 00:41 
За вертолётные деньги тоже надо как-то отчитываться.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 01-Май-23 18:36 
Фонды сами себя не освоят.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 02-Май-23 11:37 
А при чём тут устаревшие архитектуры? Rust и на x86_64 не везде tier 1, не знал?

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Анонимусс , 02-Май-23 15:02 
Виноват, надо было писать "устаревшие и маргинальные"
Заглянем в https://doc.rust-lang.org/nightly/rustc/platform-support.html, пусть будет для ночнушки, и посмотрим что там по x86_64 для не tier 1.

Напомню, что
"Tier 1 targets can be thought of as "guaranteed to work". The Rust project builds official binary releases for each tier 1 target, and automated testing ensures that each tier 1 target builds and passes tests after each change."
"Tier 2 targets can be thought of as "guaranteed to build"

Итого:

Tier 2 with Host Tools:
  x86_64-unknown-freebsd
  x86_64-unknown-illumos
  x86_64-unknown-linux-musl
  x86_64-unknown-netbsd
Ну, не густо, бздя и сорялка (оно вообщее еще шевелится? или уже даже вонять перестало?)
Может полтора васяна этим пользуются. Уверен что они саму смогут прогнать тесты.

Tier 2
x86_64-apple-ios 64-bit x86 iOS - симулятор
x86_64-fortanix-unknown-sgx Fortanix ABI for 64-bit Intel SGX
x86_64-fuchsia Alias for x86_64-unknown-fuchsia - вопросы к гуглу
x86_64-unknown-fuchsia 64-bit Fuchsia - аналогично
x86_64-linux-android 64-bit x86 Android - аналогично
x86_64-pc-solaris 64-bit Solaris 10/11, illumos - еще более древняя солярка
x86_64-unknown-linux-gnux32 64-bit Linux (x32 ABI) (kernel 4.15, glibc 2.27)
x86_64-unknown-none Freestanding/bare-metal x86_64, softfloat
x86_64-unknown-redox Redox OS - ну, с этими все понятно, никто не будет тратить время на поддержку Proof-of-Concept
x86_64-unknown-uefi 64-bit UEFI

Итого: во втором tier бздя, солярка, x86 версии андроида и фуксии и еще более редко используемые штуки.
В третий tier попала вообще всякая дичь, типа ВинХР, Haiku и куча эпловых симуляторов.

Учитывая что Redox попал во Tier2 без Host Tools и оно нормально собирается, то tier 2 - это не проблема.


"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним123 , 30-Апр-23 09:55 
Добавление нового бэкенда в LLVM значительно менее трудоёмкая задача чем написание нового компилятора С. Так что со временем утюги именно ржаветь будут.



"Проект по реализации утилит sudo и su на языке Rust"
Отправлено К.О. , 30-Апр-23 13:16 
Очень просто: на тех архитектурах, на которые Rust не портирован, будет использоваться реализация на C

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 29-Апр-23 21:26 
А можно лучше придумать что-то новое, а не заниматься переписыванием готовых и рабочих решений? Например, сделать так, чтобы sudo-костыли вообще не пригождались. Это было бы намного лучшей рекламой раста чем очередное переписывание. Но цель здесь одна - закрепить своё поделие в мейнстриме, чтобы про язычок никто не забывал, точнее, не пришлось не забывать.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено oficsu , 29-Апр-23 21:31 
> чтобы sudo-костыли вообще не пригождались

Напрммер, как?


"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 29-Апр-23 21:35 
Ну вот на винде, которой пользуется тот аноним, никакие эти ваши суды не нужны, там есть нормальные методы повышения привилегий через токены имперсонации

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 29-Апр-23 22:01 
Токены имперсонации нужны не для повышения привилегий (они и так есть у того кто их использует).

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 29-Апр-23 22:03 
Или отказаться от самой идеи повышения привилегий, сделать привилегированные серверы, у которых через IPC все остальные процессы будут запрашивать действия, могущие быть выполненными или нет.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 30-Апр-23 02:06 
Угу. sudod.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено К.О. , 30-Апр-23 13:13 
Systemd-sudod

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 30-Апр-23 00:01 
Давайте пройдёмся вкратце по объему работ, чтобы осознать что нужно, чтобы было как в венде:

1. В Windows NT есть ACL/ACE на стороне ядра и есть стандарт SDDL.
Чтобы сформировать функциональный паритет, необходимо избавиться (перевести в легаси) от того наследия 70-х годов, которое стандартизировано в POSIX и предоставляется утилитами chown и chmod. Нужны Rich ACL на стороне ядра, причем так, чтобы они использовалист повсеместно, а не опционально. Есть несколько проблем с ACL в Linux:
Проблема ACL #1: То что в Linux называют POSIX ACL - это не стандарт, а непринятый черновик, который не встречается нигде кроме Linux.
Проблема ACL #2: То что в Linux называют POSIX ACL не достаточно "Rich", поэтому они и не стали стандартом. Нет поддержки утверждений (claims), conditional ACE, deny-правил и ограничено наследование.
Проблема ACL #3: То что в Linux называют POSIX ACL не является обязательным. В Linux всё работает через  "chmod 755" и SUID-биты, а так называемые POSIX ACL (getfacl, setfacl) опционально сбоку.
Героически решив эти проблемы необходимо распространить их на все файлы, сокеты и процессы, стандартизировав дескрипторы безопасности.
2. В Windows NT есть разные типы пользовательских сессий.
Вход в систему организуется службой winlogon. При этом пользовательская сессия может быть сетевой, локальной, интерактивной, пакетной, служебной итд. В зависимости от того каким способом производилась аутентификация. В Linux вместо этого используется PAM, который понимает только локальные сессии и любой успешный вход в систему считает равным по привилегиям другому. Учитывая, что UNIX PAM - это очередная неудаха в вопросах стандартизации входа в систему, а Linux PAM - вольная реализация (NIH от Red Hat) этой неудахи, его проще выкинуть целиком, чем пытаться исправить. Главной проблемой PAM является отсутствие поддержки Kerberos 5 и невозможность повторно использовать TGT, полученный пользователем при входе в систему в приложении запущенном в той же сессии. На самом деле там проблем столько, что проще переписать с нуля, что собственно и порождает костылики вроде sssd.

Процедура элевации (Запустить от имени администратора) - это комбинация п.1 и п.2. Вам нужны ACL на все процессы, файлы и сокеты и вот для интерактивных сессий предусмотрена такая возможность.

3. В Windows NT есть неотключаемая подсистема мандатного контроля и таргетированная политика и она работает поверх тех же ACL.
При этом Windows не использует выдуманные контексты и не пишет эту политику как в SELinux, там вся штука в SDDL. Существует понятие виртуальных дескрипторов безопасности. Они генерируются на службы, и приложения запущенные с пониженными привилегиями. Например, если приложение было установлено из магазина, значит его права ниже чем пользовательская сессия и ему создается виртуальный идентификатор пакета приложения в стиле S-1-5-90-... на основании уникального идентификатора приложения и идентификатора безопасности пользователя и ACL применяются к нему. Также у каждого приложения, которое установлено как служба заводится виртуальный SID, который доступен в форме UPN как NT SERVICE\myservicename. Ине надо сочинять 100500 всяких контекстов под софт из репозиториев и прописывать им глобальную политику внутри которой SELinux в ТРЕТИЙ РАЗ ПЕРЕИЗОБРЕТАЕТ ACL!!1

4. SUID-биты - это зло. Но от них нельзя просто так избавиться в Linux.
Вообще сама идея, что все файлы и все процессы имеют на себе дескрипторы безопасности и ACE и все работает относительно их быстрого расчета ядром, красива и прекрасна, но малореалистина на данном этапе развития юзерспейсных компонентов Linux. Нужно стандартизировать огромное количество подсистем, написать к ним права, написать утилиты, которые понимают это всё, а то уже с ping возникнут проблемы, если конечно не брать реализацию из юзерспейса. Windows NT же архитектурно построена так, что файловой системе нужно верить в последнюю очередь.

5. Local Security Authority
LSAAS - это еще одна подсистема, которая убирает требования к постоянному перезапрашиванию локальных и сетевых паролей и постоянного дозахвата прав. Суть в том, что есть клиент-серверная служба, позволяющая получить доступ к сохраненным паролям, полученным билетам и кэшу аутентификации. Это то что в GNOME и Mac OS делает Keyring. И вроде бы в Linux Keyring есть, но он опциональный и только на то, что умеет с ним работать. Опять же, вызовы API к LSA также требуют аутентификации и авторизации и применяются те же ACL. Но там много всего и большая часть всего функционала там выключена. Именно на эту подсистему действуют "локальные политики безопасности". Я не буду перечислять всего, с чем она работает просто потому что и букв много получилось.

И вот когда все это реализовать, изменить и стандартизировать, то количество обращений ко всяким sudo сведется к минимуму но не уйдёт.
Я напомню, что в Windows NT есть "вторичный вход в систему" seclogon - это служба, а не утилита. Она порождает специфический тип дескриптор и как раз и нужна для того чтобы запустить что-то от имени другого пользователя. При этом есть реализация в форме утилиты, но оно использует те же подсистемы. И это тоже нужно.

> токены имперсонации

Токены имперсонации - это из области SSO. Всё то что я написал имеет отношения преимущественно к локальным подсистемам, кроме пары слов про Kerberos.
Если мы начнем вспоминать про netlogon, про его делегирование на локальных службах, про Kerberos-учетки для компьютера и виртуальную учетную запись NT AUTHORITY\NETWORK SERVICE и сверху припорошим это встроенной поддержкой SAML2 и с некоторых пор OAuth2, то мы уйдем от реальных архитектурных проблем в юзерспейсе Linux, которые вынуждают использовать sudo и su на каждый чих. Сетевые протоколы аутентификации и авторизации в Windows реализуются именно поверх того, что есть, потому что кто-то когда-то в 90-е заоверинженирил Windows NT настолько, что своими стандартными подсистемами она способна реализовать и новые протоколы, хотя в те годы OAuth2 и в планах не было. При этом те функции SSO, которые использовались в NT в те годы выброшены на свалку истории и отключены по умолчанию больше 5-лет (NTLM-привязки пользователей заменены на сертификаты, CredSSP выключен, Digest тоже уничтожен в пользу современных SSO-протоколов).

Тут всё дело именно в архитектуре. Той самой архитектуры ядра и юзерспейсных подсистем, которая вся такая несовместимая с миром UNIX и изначально пришла из VMS.


"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Ivan_83 , 30-Апр-23 01:31 
Это интересный обзор.

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


"Проект по реализации утилит sudo и su на языке Rust"
Отправлено AHOHNM , 30-Апр-23 15:02 
А вот нефиг SeDebugPrivilege всем раздавать. Ну и шо S-1-5-32-544, шо uid=0 - если они уже есть, все секреты системы в итоге доступны.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 30-Апр-23 02:42 
"в 90-е заоверинженирил Windows NT настолько"

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

Восхищаться системой безопасности Windows с её абсурдными блокировками пользователей по логину - мне кажется это надо совсем дураком быть.


"Проект по реализации утилит sudo и su на языке Rust"
Отправлено ACCA , 30-Апр-23 09:12 
Спасибо, коллега. До меня только сейчас дошло, что г***ны из Microsoft позиционируют себя как единственную альтернативу против монополии Google/Linux. Теперь я горячий сторонник BSD.

Завтра же поставлю себе NetBSD desktop. Ну, хотя бы в виртуалке...


"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 30-Апр-23 10:18 
Я нифига не понял. Какие-то дескрипторы безопасности ... Зачем всё это надо? Это что-то, дающее тот же эффект, что и pledge + unveil, нш требующее больше усилий от программиста?

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 30-Апр-23 17:15 
> нш требующее больше усилий от программиста

Именно так. Весь мировой опыт разработки ПО кричит о том, что баги и уязвимости появляются именно в тот момент, когда требуются любые усилия от программиста. Внедрять механизмы работы с привилегиями в прикладуху — только напрашиваться на неприятности. Прикладной софт вообще не должен быть озабочен такими тонкостями как жонглирование привилегиями. Можешь — читай-пиши. Не можешь — падай с ошибкой. Дядя администратор потом разберётся каких формочек в твоей песочнице не хватает. Но нет, мы застряли в семидесятых со святой верой в магию цифр.


"Проект по реализации утилит sudo и su на языке Rust"
Отправлено InuYasha , 30-Апр-23 12:55 
М-да, спасибо что подробно описал то, что я называю двумя словами "давно пора". Хотя, о чём речь если в прыщовнике нет даже реестра??

Кстати, в винде есть sudo - runas /u:Administrator myvirus.exe (как-то так)


"Проект по реализации утилит sudo и su на языке Rust"
Отправлено пох. , 30-Апр-23 21:12 
и ты в эксперты подался?

Это не sudo, это точный эквивалент su. Требует знания пароля или эквивалента того юзера от которого запускаешь.
Причем от администратора - ТОЖЕ требует.

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


"Проект по реализации утилит sudo и su на языке Rust"
Отправлено InuYasha , 01-Май-23 10:13 
> Это не sudo, это точный эквивалент su.

Ты уверен? su - это switch user, позволяет сменить личность, su do - разово выполнить команду от юзера. Как раз то что делает runas. И то и другое просит пароля. Могу ошибваться, конечно, пишу в полусне.


"Проект по реализации утилит sudo и su на языке Rust"
Отправлено пох. , 01-Май-23 10:37 
Уверен. Удивительная каша у тебя в голове. Казалось бы это должен понимать в оппу пьяный админ спящий в луже своей блевотины под столом, поднятый звонком в три ночи.

su - изначально инструмент _админа_. Знающего рутовый или эквивалентный ему пароль, вестимо, и работающего с доверенного терминала. Как и runas (только тут надо знать еще и второй пароль, одним админским не обойдешься).

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

(Но, кажется, эти дятлы именно его и собрались реализовать потому что ничего другого не умеют - не админы они.)


"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 01-Май-23 17:32 
sudo su -

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено пох. , 01-Май-23 20:24 
> sudo su -

не смешно вот - пол-стековерфлова в таких рецептах.
И уже на серверфолте тоже начали попадаться.


"Проект по реализации утилит sudo и su на языке Rust"
Отправлено InuYasha , 02-Май-23 22:28 
Да я уже давно ничего этого не делал. Прописал на единственной винде runas /u:Admin ramdrive.exe и збс. И так 10 лет. )

Я бы не сказал что убунта - это частный, прям, случай. Вернее, только с ней, в основном, и контактировал. Делать sudo su меня убунта и научила :D


"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 30-Апр-23 13:53 
>SUID-биты - это зло.

Наоборот, зло - это ты и тебе подобные. Не лезь к нам.


"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 30-Апр-23 22:02 
Это эпичная классная простыня, осталось понять, почему везде, где нужна безопасность, ставят линь, а винда считается маргинальной десктопной хренью, которую даже с серверов почти везде выпилили.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено InuYasha , 01-Май-23 10:21 
> прописывать им глобальную политику внутри которой SELinux в ТРЕТИЙ РАЗ ПЕРЕИЗОБРЕТАЕТ ACL!!1

И тут я вспомнил как хлебнул этого %s когда начал настраивать "простую" шару по самбе. Сперва три семёрки, потом липкие биты, потом ACL+user_xattr, потом хотел уже selinux (но в дебиане их ещё не было)... Госпатефон, какой же это ужас!!! Пока всё это настроишь... хотя, это не настроишь. Потому что логика хоть и страшная, но недостаточно гибкая. И дремучая. Натягивать нормальные ACL на юниксовую систему юзер-группа - это, ну, хуже всего.


"Проект по реализации утилит sudo и su на языке Rust"
Отправлено пох. , 01-Май-23 10:41 
>> прописывать им глобальную политику внутри которой SELinux в ТРЕТИЙ РАЗ ПЕРЕИЗОБРЕТАЕТ ACL!!1

это он еще забыл про nfsv4 acls. Которые близки к posix но нет.
(потому что ОПЯТЬ позиксное недоразумение оказалось неэффективным и неполноценным и пришлось переизобрести его заново когда понадобился доступ не только руту и вон тому васяну да еще из разных точек сети)



"Проект по реализации утилит sudo и su на языке Rust"
Отправлено xPhoenix , 02-Май-23 11:00 
Три семёрки, по всему Союзу... Полностью согласен, что система управления правами в Linux'е слишком стара. Отсюда растут такие вещи, как мандатные метки и прочее.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Коми , 02-Май-23 09:20 
Все намного проще. Микрософт уже давно готова отдаться линуксу, потому что по словам тех же разрабов винды, они не до конца понимают как у них там все устроено. Но линукс такие обсерщики, что лучше будут переписывать то, что т есть на разных странных языках.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено eganru , 02-Май-23 09:23 
[i]чтобы было как в венде[/i] - можете мне как не специалисту нафига вообще нужно, чтобы было как в венде? Там плюс какой-то большой есть? Особенно с windows не работал и плохо себе представляю, какие проблемы это всё решает.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 02-Май-23 10:18 
> нафига вообще нужно, чтобы было как в венде?

в венде та же устаревшая модель безопаснеости что и в Linux только в профиль, вот что нужно

https://en.wikipedia.org/wiki/Capability-based_security


"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 02-Май-23 16:52 
>Ну вот на винде

Знаем мы, как в Винде. Там каждый хомячок адиминистратор локалхоста.


"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Бывалый смузихлёб , 30-Апр-23 11:56 
как во многих андройдофонах - пользователя тупо не допускают ни до каких привилегий

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним123 , 30-Апр-23 08:44 
Можно, разрешаю

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 30-Апр-23 17:44 
Ты опоздал лет на 30. Plan9 или его живая реализация 9front уже сделаны и там нет нужды в su или sudo. И кстати никакого раста!

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 29-Апр-23 21:26 
Учитывая качество sudo, хуже быть уже не может. Он него ж даже в OpenBSD отказались

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 04-Май-23 01:36 
> Он него ж даже в OpenBSD отказались

Наверное, потому что в sudo нет встроенного remote shell, как в OpenSMTPD.


"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 29-Апр-23 21:27 
> Безопасная работа с памятью обеспечивается в Rust во время компиляции через проверку ссылок, отслеживание владения объектами и учёт времени жизни объектов (области видимости), а также через оценку корректности доступа к памяти во время выполнения кода. Rust также предоставляет средства для защиты от целочисленных переполнений, требует обязательной инициализации значений переменных перед использованием, лучше обрабатывает ошибки в стандартной библиотеке, применяет концепцию неизменяемости (immutable) ссылок и переменных по умолчанию, предлагает сильную статическую типизацию для минимизации логических ошибок.

Зачем это в новости к реализации sudo? Может тогда будем так про каждый язык писать в новостях? Проводить обзор языков.


"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Анонимусс , 29-Апр-23 21:34 
Да, ты прав.
Вместо этого бесполезного, и уже всем надоевшего текста, лучше бы привели ссылки на CVE в sudo:
https://www.opennet.me/opennews/art.shtml?num=58507
https://www.opennet.me/opennews/art.shtml?num=54474
https://www.opennet.me/opennews/art.shtml?num=51675
https://www.opennet.me/opennews/art.shtml?num=54394
и т.д

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено ma3x one , 29-Апр-23 21:28 
Чё мелочится. Взять и переписать всю библиотеку Glibc, Coreutils и все базовые компоненты на Rust.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено oficsu , 29-Апр-23 21:33 
В Андроиде стандартная библиотека C написана на C++ и ничего, живут. Так что рано или поздно, кто-то и с растом это провернёт. А coreutils они постоянно пытаются переписать с переменным успехом

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 30-Апр-23 15:42 
Так андройд эта та еще помойка, на которую еще в 2014 забили болт самые упертые энтузиасты. Теперь это де-факто дружественный проект производителей смартфонов, без посторонних. Линейка делает скорее косметические изменения и сильно не поспевает за гуглом и уйти от гугла не может (например добавить программный доступ к прослушиванию звонков или отменить автоматические разрешения для установленных приложений), остальные тем более. Так что живут они весьма условно, примерно как playstation на freebsd со своим графическим пайплайном. Оно как бы есть, но вещь в себе, трогать нельзя.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 02-Май-23 10:54 
> Так что рано или поздно, кто-то и с растом это провернёт.

уже переписали на расте - redox называется, только пользователей нет, память течёт слишком сильно и комп работает не больше часа.


"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Анонн , 29-Апр-23 21:39 
Вообще coreutils уже переписывают - https://github.com/uutils/coreutils.
И думаю через годик-два смогут достичь паритета.
Возможно и Glibc перепишут.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 29-Апр-23 22:05 
> Вообще coreutils уже переписывают

С Gargo в придачу.


"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 01-Май-23 16:46 
>через годик-два смогут достичь паритета

Помнится, годик-два назад говорили то же самое. Так и запишем - в любой момент времени coreutils на Rust будут готовы "через годик-два".


"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Мегалодон , 29-Апр-23 22:21 
Нормальная идея, так и сделают, надеюсь. А то всё подряд на недоязыке говноСи пишут и дыры и тут и там. Да, бывают логические ошибки, но школота которая системный подход и человеческий фактор отличить не может только и делает что накидывает на вентилятор вроде "Чё мелочится. Взять и переписать всю библиотеку Glibc, Coreutils и все базовые компоненты на Rust.". Согласны?

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 30-Апр-23 00:44 
Я только одного не понял. Если цель авторов писать исключительно на rust, то на кой ляд надо писать libc на этому расте?

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 30-Апр-23 19:17 
Имеется в виду скорее та часть glibc, которая posix, а не которая С.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 01-Май-23 22:42 
чтобы мульон непереписанных небезопасных Си/С++-программулин, до многих из которых даже их авторам уже дела нет, могли пользоваться безопасной системной библиотекой, которую уже так просто из этой самой программулины не проэксплойтишь.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Мегалодон , 05-Май-23 02:41 
> Я только одного не понял. Если цель авторов писать исключительно на rust,
> то на кой ляд надо писать libc на этому расте?

Самые критичные части ОС должны быть безопасны, т.е. ядро и основные библиотеки, вроде openssl, libz. Это убережёт от условных 80% проблем. Т.е. ядро и эти либы должны быть написаны на Rust. Если вам хочется писать на Сях-х**ях, пожалуйста, но вам гарантируется безопасность и предсказуемость libc (хотя это уже librust, но не важно, posix интерфейс кароч). Т.е. это guardrails but not gates, безопасный интерфейс для имбецилов с топором.


"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Анонус , 30-Апр-23 00:16 
> переписать всю библиотеку Glibc

Уже. Причем коммиты почти каждый день.

https://github.com/redox-os/relibc/commits/master


"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 30-Апр-23 00:56 
При чём тут GLibc? Это же Re(s)dox like.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Анонус , 30-Апр-23 12:02 
> При чём тут GLibc? Это же Re(s)dox like.

При том, что

>Supported OSes
>Redox OS
>Linux


"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Sauron , 30-Апр-23 12:55 
relibc is a portable POSIX C standard library written in Rust. It is under heavy development, and currently supports Redox and Linux.

Чукча не читатель.


"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 30-Апр-23 15:10 
Да похрен, что оно supports Linux. Для Linux стандартом является GLibc API, а не просто POSIX. Да и GLibc под православной лицензией к тому же.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 30-Апр-23 12:47 
Ты хотел сказать почти каждую неделю?

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Анонус , 30-Апр-23 13:40 
> Ты хотел сказать почти каждую неделю?

Я сказал то, что хотел. А ты прочитал, то что удобно твоему манямирку. Мы разные.


"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Минона , 29-Апр-23 21:29 
doas из OpenBSD портировать?

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено пох. , 30-Апр-23 10:01 
Оно несовместимо, имеет совершенно ушлепский язык конфига, причем реализующий примерно ноль фич из поддерживаемых sudo.
И при этом оно от тех вот ребят которые rce от рута умудрились в простейшем smtpd оставить. (Видимо потому конфиг и ниасилили - трезво осознавая что распарсить его и нигде не исполнить ненароком какой-нибудь код не смогут)

Просто эталонный мусор.


"Проект по реализации утилит sudo и su на языке Rust"
Отправлено andy , 30-Апр-23 11:05 
> И при этом оно от тех вот ребят которые rce от рута умудрились в простейшем smtpd оставить.

Поделись пожалуйста ссылкой на проблему!


"Проект по реализации утилит sudo и su на языке Rust"
Отправлено crypt , 30-Апр-23 17:55 
зачем такие продвинутые темы, если еще не освоили поиск в интернете? я за 5 минут нашел:

https://vk9-sec.com/opensmtpd-6-6-1-remote-code-execution-sm.../

был лучшего мнения об OpenBSD


"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Tita_M , 30-Апр-23 18:08 
Вся хваленая безопасность OpenBSD - это безопасность Неуловимого Джо, лол.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 01-Май-23 16:51 
>безопасность Неуловимого Джо

Как что-то плохое. Немногим хуже безопасности Черного Ящика.


"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 01-Май-23 19:13 
OpenBSD большей частью очень дубово написана.

Это скорее не безопасность неуловимого Джо, а безопасность двух стальных шаров.


"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 29-Апр-23 21:29 
в интересное время живём, товарищи.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 29-Апр-23 21:49 
из разряда когда коту нечего делать....

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Вы забыли заполнить поле Name , 29-Апр-23 21:50 
Про каждый чих на расте будут писать?

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Анонин , 29-Апр-23 21:53 
Если есть новости про что-то достойное из мира сишечки - милости просим.
Кнопку "добавить новость" думаю сможете найти самостоятельно.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Фанатик , 30-Апр-23 14:59 
Звучит как "если есть что-то более достойное, чем вода"

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Фанатик , 30-Апр-23 14:59 
У малявок мировоззрение искажено на столько, что не видят сук, на котором сидят

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 29-Апр-23 21:51 
А они собирались с поддержкой Cargo?

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 29-Апр-23 21:56 
Ставлю 100$ что в нем будет больше уязвимостей чем в оригинале

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 29-Апр-23 22:08 
ставлю столько же что его не допишут

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено пох. , 30-Апр-23 09:55 
> уже опубликована предварительная версия Sudo-rs, пока не готовая к повсеместному использованию.

то есть фсе нормально - жужжатель не жужжит, но и в ...пу не лезет.
Главное ж опубликовать. Ну и деньжат немного поклянчить. "До конца 2023го года" ребятишкам на пивасик хватит а там еще что-нибудь придумают переписывать.

"сосредоточены на написании библиотеки" (а у sudo есть какая-то "библиотека"? Але, это утилита, вы бы еще библиотеку к wc написали - без самой wc.)

И так у хрустиков всъо. И ни одного доведенного до конца проекта где что-то бы написали, а не "начали переписывать".


"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Бывалый смузихлёб , 30-Апр-23 12:05 
работа кипит, бурлит
Прямо вижу новость из 2030 года:
И вот, по прошествии многих лет, в нынешнем году наконец все утилиты, дрова и компоненты линукса были переписаны на раст. Пусть потрачены годы календарного времени, а трудозатраты исчисляются десятками и сотнями миллионов человеко-часов, мы получили линукс... образца 2022 года, когда и начали активно переписывать, но зато на расте. И его кодовую базу надо срочно актуализировать, ведь за эти годы язык активно развивался

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено пох. , 30-Апр-23 12:58 
Ну нет, так быть не может. Чтоб за какие-то семь лет ВСЕ переписать (а не начать переписывать, как вот эти) , даже без учета ядра линукса - это ты хватил.

Сколько там эскопета стреляет только себе в оппу, пять уже, я не обсчитался? Это при стабильном потоке бабла! (И всем карго впридачу и еще пол-гитхаба)

Мне кажется, при таких чудовищных трудозатратах можно было бы уже даже мертворожденный gnash допилить до более-менее работоспособного состояния. Если бы пилить а не "appease clippy" каждый второй комит.


"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 30-Апр-23 15:47 
Ну так это жи руст, он все автоматически делает безопасным и легким. На магии же работает, не иначе. Запустил компилятор, лег спать, а на утро уже ядро переписанное. Все хорошо, только не запускается.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено пох. , 30-Апр-23 21:19 
> Ну так это жи руст, он все автоматически делает безопасным и легким.

ну да, самый безопасный код - который вообще не запускается и не работает, потому что недописанный.

Я эту эскопету каждый раз поминаю злым тихим словом ровно потому что ну уж казалось бы _самая_ та ниша хруста - во-первых это НАДО переписать, потому что оригинал умер, во-вторых ему хорошо от умения хрустокомпилятора сразу и в нативные бинари и вебасм и все это с поддержкой графики сразу и из кор...карги и вообще кучей готового или полуготового кода. И куча людей заинтересована и готова платить. Но НЕТ, блжад. Никак не получается повторить даже gnash - ненужное ненужно сделанное ради всего хорошего и шва6одки (то есть совершенно бесплатно) за пару лет полутора энтузиастами на от...сь.

На plain C.


"Проект по реализации утилит sudo и su на языке Rust"
Отправлено rvs2016 , 02-Май-23 12:35 
> Прямо вижу новость из 2030 года:
> И вот, по прошествии многих лет,
> в нынешнем году наконец все утилиты,
> дрова и компоненты линукса
> были переписаны на раст.

Ты почти всё правлиьно предугадал.
Не угадал только язык.
В 30-м году будет очередной новый язык, на котором будут переписывать опять все эти su да sudo для оправдания необходимости существования этого очередного нового языка. :-)


"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Tron is Whistling , 29-Апр-23 22:33 
Назвали, надеюсь, sRudo и sRu?

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Анонин , 29-Апр-23 22:39 
Не, последнее это уже дискредитация!

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Предатели_вокруг , 30-Апр-23 00:16 
А , ты догадливый мог бы быть Engst или Enst благодаря генерации получили язык уровня ч , только страна продала свои интересы как тольо все переехали из всяких других профессии или хобби и украло чужое будущее наделав ев этом тепло выделении денег из нос бюджета через мишу тем людям которые не заслужили , а пришли на халяву на уже созданную чужими усилиями ос то обычно так все и выходит , вам лишь интересно поддельное так как сообщество сгнило и не только в этой сфере.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 30-Апр-23 00:26 
Что это за бот подскажите? Я тоже хочу такой генератор шизофазии.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 30-Апр-23 11:34 
А вдруг это не бот? Чувак реально так мыслит.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено n00by , 30-Апр-23 14:21 
Он мыслит достаточно связно, если постараться и прочесть. С пунктуацией проблемы и имя написал с маленькой буквы. Вероятно, видит не очень и пишет с телефона, который и меняет "нац" на "нос".

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 30-Апр-23 15:50 
Если достаточно долго искать смысл, то вы его обязательно найдете, даже если изначально его там не было (C) сэр Людвиг Ван Изиштейн

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено n00by , 01-Май-23 10:43 
Действительно. Смысл сообщения выше "я умею нажимать Ctrl+C и Ctrl+V".

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 30-Апр-23 00:58 
За SRU Орацле засудит.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено 1 , 02-Май-23 10:14 
ну букаффки ж в другом регистре ...
ios и iOS - одно и тоже ?

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 29-Апр-23 22:37 
С главного зашли, где привилегированный пароль светится.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 29-Апр-23 22:42 
В придачу и связка с Lets Encrypt ) Грубо работаете, господа. Вполне вероятно на своё sudo они завяжут свой сервис сертификатов )))

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 29-Апр-23 23:05 
>  Дополнительно в планах упоминается поддержка SELinux, AppArmor, LDAP, средств аудита, возможность аутентификации без использования PAM и реализация всех опций командной строки sudo.

Планы подозрительные. Среди всего разнообразия они выбрали это. Кстати, полноценную утилиту sudo они намереваются представить позже (Ведь это не главное ;-)...


"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 29-Апр-23 22:53 
> В будущем планируется создать библиотеку, позволяющую встраивать функциональность sudo в другие программы

Идиоты что-ли? Какая нахер библиотека, это уже есть в линуксе.


"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 30-Апр-23 00:01 
Это же растоманы. Они и PAM решили переизобрести. Хипстеры, сэр.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 29-Апр-23 23:11 
> уже опубликована предварительная версия Sudo-rs, пока не готовая к повсеместному использованию.
> В настоящее время работа сосредоточена на реализации в Sudo-rs функций, позволяющих использовать утилиту в качестве прозрачной замены sudo в типовых сценариях использования

Не понял, а что вообще сделали-то? Запилили README.md, COPYING и надули щёки?


"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 29-Апр-23 23:21 
Это все потом, сперва надо CODE_OF_CONDUCT.md дописать

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 29-Апр-23 23:22 
На днях посмотрел сериал Консультант 2023. Не удивляет )

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 30-Апр-23 00:24 
Судо это не та помойка в которой все ошибки логические? Я думаю, эзотерический ЯП тут очень поможет с логическими ошибками. А су чё переписывать?

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 30-Апр-23 10:20 
Ты потерял веру в раст, десять плетей тебе.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 30-Апр-23 01:02 
А утилиту yes уже портировали? Или для это тоже надо гордо окрестить проектом.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним123 , 01-Май-23 09:01 
Да, причём сделать это не так и просто как кажется с первого раза
https://endler.dev/2017/yes/

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Avririon , 30-Апр-23 03:20 
Обязательно надо, а то все зажрались - базовые утилиты не тормозят!

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 30-Апр-23 10:06 
Главное - чтобы памяти побольше занимали и жрали. Для этого нужно побольше зависимостей в Cargo.lock напихать. И чтобы каждой зависимости по 3 версии было.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено cheburnator9000 , 30-Апр-23 03:36 
https://github.com/search?q=repo%3Amemorysafety%2F...

> MEMORY SAFETY
> UNSAFE

Огонь!


"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Anons , 30-Апр-23 16:07 
Охонь, там стоит запрет на unsafe и 1-2 место где юзается (кроме мест где есть запрет)

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Stellarwind , 04-Май-23 10:23 
И там же...
/// * The messages from PAM are assumed to be formatted correctly.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено soarin , 30-Апр-23 05:26 
Неплохое решение.
Как раз sudo подходит под переписку на RUST 🦀 больше всего.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено 1111 , 30-Апр-23 05:41 
не согласен! больше всего подходит виндовс! судорасты должны реализоваться и доказать что что их язык чего то стоит только переписывание виндовса! удачи им!

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено пох. , 30-Апр-23 09:56 
так ресдох же ж уже переписали... только оно сдохло, ну, все занялись более новыми и модными вещами - вот, к примеру, давайте sudo перепишем.


"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 02-Май-23 15:24 
Ещё немного допереписывают жеж. Ещёнемногопочтиготово.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 02-Май-23 14:33 
Раст уже в ядре Винды.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 02-Май-23 15:16 
Значит, sudo таки не очень необходим ;)

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Neon , 30-Апр-23 06:28 
На хрена ?! Изобретать уже изобретенный велосипед

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним123 , 30-Апр-23 08:54 
Потому что уже изобретённый велосипед слишком ненадёжен

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 30-Апр-23 10:19 
А с чего ты взял что переделав велосипед ненадежными ржавыми материалами он станет надёжнее?

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним123 , 30-Апр-23 14:30 
Есть только один способ проверить

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 01-Май-23 09:16 
Нет уж способов полно и теоретические расчеты и аналогии и история. И все говорят что коммунизм в отдельно взятом языке невозможен.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено VladSh , 01-Май-23 16:50 
Если переписывать не построчно, а разбираться в том, как оно работает, учитывая недостатки и пытаясь их исключить в новой реализации, то всегда получается лучше (если у разрабов соотв. квалификация).

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 01-Май-23 17:01 
Это так, но какова вероятность, что переписывальщики на Раст именно так делают? Скорее всего вероятность низкая, причем для любого ЯП.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено VladSh , 01-Май-23 21:57 
Вероятность высокая. Говорю как разраб, - если принимается решение что-то переписывать, то оцениваются все аспекты. Вот, к примеру, в прошлой новости https://www.opennet.me/opennews/art.shtml?num=59044 скорость прохождения некоторых тестов после переписывания увеличилась, и это не просто от смены языка.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 02-Май-23 17:48 
Вот и жри холодную мокрую рыбу и задирай зайцев в лесу,
подтирайся лопушком и пей из речки, а прогресс не нужно
останавливать... Что за черты брать и тормозить других...
Ладо сам бы тормозил бы, так нет же свою тормозную фыилософию
распологает на других...

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено iCat , 30-Апр-23 08:02 
- Здрасьте!
- Перепиши на расте!

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 30-Апр-23 08:12 
Ничёсе утилизация...

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Tron is Whistling , 30-Апр-23 09:15 
Да ладно, по крайней мере нашли себе занятие.
Чем бы дитя не тешилось...

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 30-Апр-23 10:04 
>По данным компаний Microsoft и Google около 70% уязвимостей вызваны небезопасной работой с памятью.

По данным Анонимов Опеннета, 90% уязвимостей в suid-утилитах вызваны не работой с памятью, а небезопасной работой с символическими ссылками.


"Проект по реализации утилит sudo и su на языке Rust"
Отправлено пох. , 30-Апр-23 10:30 
"использовать утилиту в качестве прозрачной замены sudo в типовых сценариях использования (конфигурации sudoers по умолчанию в Ubuntu, Fedora и Debian). В будущем планируется создать библиотеку, позволяющую встраивать функциональность sudo в другие программы, и предоставить альтернативный метод настройки, дающий возможность обойтись без разбора синтаксиса файла"

только у меня одного ощущение что это переводится как они банально ниасилили парсер конфига и даже не собираются в будущем его делать?


"Проект по реализации утилит sudo и su на языке Rust"
Отправлено n00by , 30-Апр-23 10:49 
Почему сразу ниасилили? Может просто не хотят, чтобы кто-то читал конфиг.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено пох. , 30-Апр-23 13:00 
там выше уточнили что читать параметры командной строки они тоже только "планируют". А пока что-то руки не доходят... Или это не руки у них?


"Проект по реализации утилит sudo и su на языке Rust"
Отправлено n00by , 30-Апр-23 14:24 
Параметры тоже не надо читать. "Планируется создать библиотеку" -- значит слинкуют с новыми приложениями и будет все очень безопасно. :)

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 30-Апр-23 16:07 
> не хотят, чтобы кто-то читал конфиг.

- гражданин, вы зачем бюллетень читаете?
- да вот хочу узнать, за кого я голосую?
- вы что! не знаете чтоль что у нас голосование тайное?


"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 30-Апр-23 11:35 
Рулез, это мы берём.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 30-Апр-23 12:52 
Скажем дружно, нам ненужно.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Пенгуин , 30-Апр-23 11:47 
А какая разница, на каком языке что написано?
Языки программирования ведь отличаются словами, акцентом и литературными правилами наверное только.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 30-Апр-23 12:53 
Почему тогда оно на Хаскеле не написано если нет разницы?

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 02-Май-23 15:22 
Ага, чем эзотеричнее язык, тем лучше.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Hck3r , 30-Апр-23 12:05 
Как раньше были systemd-free дистрибутивы
Должны скоро появиться rust-free дистрибутивы :)

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 01-Май-23 17:19 
Уже есть https://www.hyperbola.info/

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 30-Апр-23 12:19 
Ну, хруст почти добавлен в ГЦЦ, значит можно.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 01-Май-23 17:20 
...но не нужно.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено InuYasha , 30-Апр-23 12:58 
"С упорством достойным лучшего применения..."

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено швондер , 30-Апр-23 12:58 
пусть венду переписывают. интересно, сколько стоит pr языка разработки.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено пох. , 01-Май-23 10:13 
там какой-то индус с хаером уже начал. Пока правда неочевидно, включат его код в винду или его уволят по сокращению за продолб года рабочего времени на переписывание и так работающего с ровно нулевым выхлопом.


"Проект по реализации утилит sudo и su на языке Rust"
Отправлено freehck , 30-Апр-23 22:07 
А на кой чёрт, кто-нибудь докапывался уже? Бюджеты что ли пилят?

Если переписать coreutils на rust прекрасно объяснялось шагом в сторону смены лицензии, то sudo, он же вроде как и так на ISC, равно как и BSD-шный doas. Зачем его-то на rust переписывать?


"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Максим , 01-Май-23 00:05 
Выдавить старых разработчиков и взять эти проекты под свой контроль.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено пох. , 01-Май-23 10:24 
чтобы вот - что?!

sudo если не гоняться за совместимостью (а как вот эти - параметры не поддерживаем, конфиг читать не умеем, "совместимы с типовым сценарием использования в убунточке"

(напоминаю типовой сценарий из двух строк:
root ALL = (ALL) ALL
%sudo ALL = (ALL) ALL
- остальное там комментарии)
- примитивная программа на два часа работы студенту-второкурснику, только-только прочитавшему раздел книжки про uid/euid  

Ну потом он от профессора огребет, конечно, за детские ошибки (тема с euid одно из самых мутных наследий 70х, хуже только detach from controlling tty), и все переделает еще за пол-часика, но в целом оно даже будет работать, особенно в линуксе линуксе и линуксе (потому что больше нигде эта поделка и не будет).

Чтобы сделать полноценный парсер - надо либо освоить какой-нибудь лексический анализатор (поскольку синтаксис sudoers специально для них делался) либо просто быть очень внимательным и аккуратным, второе сложнее. Работа уже посерьезнее, за курсовик сойдет, да и отдельную новую тему про лексические анализаторы и bnf надо изучать.

В целом тоже ничего такого с чем один отдельно взятый студень не управился бы за семестр вполне параллельно с опи3дюливанием за физику и китайский язык.


"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 01-Май-23 17:23 
>чтобы вот - что?!

Чтобы опубликовать новость на опеннете и вызвать шквал комментариев.


"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 01-Май-23 09:08 
> возможность аутентификации без использования PAM

PAM хорошая технологии, её нужно поддерживать в системах и программах, как и tcpd.

> По данным компаний Microsoft и Google около 70% уязвимостей вызваны небезопасной работой с памятью.
> Безопасная работа с памятью обеспечивается в Rust во время компиляции через проверку ссылок, отслеживание владения объектами и учёт времени жизни объектов (области видимости), а также через оценку корректности доступа к памяти во время выполнения кода.

В *NIX проверки принято делать во время выполнения. Иначе как дать гарантии корректности. И это достигается не только за счёт компилятора: https://www.opennet.me/openforum/vsluhforumID3/129886.html#310
Но и самой архитектуры, CPU + ядро OS: https://www.opennet.me/openforum/vsluhforumID3/129886.html#351

Пример корректного GNU/Linux: https://www.opennet.me/openforum/vsluhforumID3/129886.html#309

При этом все "C-ишные дыры" есть неэксплуатируемые, а "дырявая" прога падает с записью в подробный лог ошибки.


"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 01-Май-23 09:19 
Раст это попытка добавить ещё дыр.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 01-Май-23 11:56 
О расте и всех его адептах, и разведенном ими хайпе, есть одно стойкое впечатление, как о каких-то деятельных Остапах Бендерах, которых понесло. У них даже не хватает мозгов понять, что именно делает программы сложными и отчего они подвержены появлению дыр, и что это вовсе не из-за ЯП. Когда адепты раста перестанут онанировать на публику и напишут что-то сложное и массивное, вроде FS какой-нибудь, вот тогда пойдем и посчитаем, сколько у них там будет CVE. В лучшем случае, их будет не меньше, чем в прогах на Си.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 01-Май-23 13:38 
Они не смогли самый просто браузер написать на этом язычке. О каком сложно проекте ещё говорить.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 01-Май-23 15:44 
> О расте и всех его адептах, существующих лишь в фантазиях опеннетных Военов Супротив Раста и разведенном ими хайпе, есть одно стойкое впечатление, как о каких-то деятельных Остапах Бендерах, которых понесло.

Пофиксил, не благодари.

> У них даже не хватает мозгов понять, что именно делает программы сложными и отчего они подвержены появлению дыр, и что это вовсе не из-за ЯП
> вроде FS
>  прогах на Си

Опеннетная Экспердиза так и прет.

> напишут что-то сложное и массивное, вроде FS какой-нибудь, вот тогда пойдем и посчитаем, сколько у них там будет CVE. В лучшем случае, их будет не меньше, чем в прогах на Си.

https://github.com/redox-os/redoxfs
Начинай считать, не забудь сравнить с сишным хелловротом, чтобы обязательно "победить" и не выставить себя очередным опеннетным подгорельцем^W балаболкой.



"Проект по реализации утилит sudo и su на языке Rust"
Отправлено scriptkiddis , 01-Май-23 22:58 
https://github.com/redox-os/redoxfs
Начинай считать, не забудь сравнить

Это то что в проде не используется и не обкатано? А ты хорош.


"Проект по реализации утилит sudo и su на языке Rust"
Отправлено BeLord , 01-Май-23 12:25 
Вместо того, чтобы решать задачи, которые не решены, программисты по сотому разу делают одно и тоже, вопрос на фига?

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 01-Май-23 13:37 
Добавлять фичи в существующие проекты очень сложно, менеджерам это не впаришь. А вот переписывание на безопасТный язык менеджер хавнет за обе щеки.  

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено BeLord , 03-Май-23 11:01 
> Добавлять фичи в существующие проекты очень сложно, менеджерам это не впаришь. А
> вот переписывание на безопасТный язык менеджер хавнет за обе щеки.

Да не сложно, просто фичи должны быть нужны потребителю. И таких фич в достатке.


"Проект по реализации утилит sudo и su на языке Rust"
Отправлено 1 , 02-Май-23 10:42 
Ну вот тут я несогласный ...

Язык новый шишек ещё не набили ... И ещё не пришла вторая итерация, связанная с искоренением "детских болезней".
Как раз обкатывать язык на уже устоявшихся решениях, чтобы посмотреть, что и как реализовывается, есть ли выигрыш (или проигрыш) при реализации. Ну, в некоторых случаях, обнаружить узкие места и взглянуть на их реализацию по новому.

Что касается хайпа, и я и другие вспоминали Java. Как её только не внедряли ... До сих пор у меня в памяти установка NetWare 5, когда для установщика (на Java) надо было доустановить памяти, а потом её можно было просто убрать. Так что пена сойдёт, а ниша останется.

Ну и резюме. Проблема раста (чуть не написал R..T - пришлось бы писать, что пост к компании владеющей торговой маркой не имеет отношения), как ни странно, в его апологетах. Детям показали игрушку и сказали, что она приведёт их в светлое будущее - главное в это верить. А остальных- русттрелять ...

Ну и по поводу переписывания. По мне взяли бы какую-нибудь устоявшуюся утилиту - ну типа busybox и переписали. Просто тупо переписали ... Я думаю, года бы хватило, а если бы навалилось > 5 разработчиков, дети бы научились ещё и управлять командой, тоже нужный скилл. А потом выпустили отчёт (ну или книжку ... Да ролик на трубе ...) "Как мы переписывали busybox". С какими проблемами столкнулись, как их решали, лучше или хуже получилось ... И это бы индустрии раста помогло бы гораздо больше, чем сотня никому не нужных начатых "глобальных" проектов. На которые, как дети в песочнице, набигают, потом бросают набигая к следующему куличику.


"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Fractal , 01-Май-23 14:11 
вся эта суета с RUSTом и переписыванием всего и вся, напомнила мне эссе "Одиссей из Итаки" из сборника Абсолютная пустота  Станислава Лема.
Там про поиски и класификацию гениев разных классов и их трудов...
В тех поисках, среди прочих, был найден один первоклассный чувак который изобрел альтернативную более эффективную математику.
Ученые мужи сошлись во мнении что труд монументальный, эффективность неоспорима, НО при существующей системе повсеместного использования старой математики, чтоб понять новую математику надо самому быть гением, а чтоб все это внедрить и вовсе непонятно с какого краю подойти к проблеме, так как усилиями единиц, способных осознать профит от новой методы, не хватит чтобы преодолеть течение "реки" устоявшейся повсеместно внедренной системы.
Да и вобще там гг Одиссей в конце рассказа себя осознал гением такого колибра, что и должности подабающей такому человеку несуществует. Очень напоминает адептов RUSTа, разбирающихся во всем лучше всех, единственных знающих знающик как надо!

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 01-Май-23 17:17 
>В будущем планируется создать библиотеку, позволяющую встраивать функциональность sudo в другие программы

Еще бы линковать системные программы с этим нечто. Это уже не мечты растоманов, это уже тяжелые галлюцинации.


"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 01-Май-23 20:40 
Проект по утилизации утилит sudo и su на языке Rust

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено scriptkiddis , 01-Май-23 22:54 
》 предоставить альтернативный метод настройки

Какой и как?


"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 02-Май-23 09:28 
Я так понимаю что к созданию Rust причастна майкософт ???

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено 1 , 02-Май-23 10:49 
Нет, они просто влились в общемировой заговор.
Ни с D ни с C# не прокатило, вот новый язык ...

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 02-Май-23 13:44 
когда пояаился Rust, Майкософт пытался запились какой-то свой Ррастоподобный язык. Не прокатило. D они никогда не развивали, C# за пределы экосистемы Windows не смог перешагнуть.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 03-Май-23 12:20 
Нет, не пытался.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Коми , 04-Май-23 08:51 
Ты голову из своего зада вытащи и узнаешь много нового для себя

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Серб , 02-Май-23 16:22 
> и предоставить альтернативный метод настройки, дающий возможность обойтись без разбора синтаксиса файла конфигурации sudoers

Тут, хотя бы, идея есть, ради чего пишут.

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


"Проект по реализации утилит sudo и su на языке Rust"
Отправлено 1 , 02-Май-23 17:01 
дельное - сделают конфиг в виде JSON (патамучта не умеют ни во что остальное)

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено пох. , 02-Май-23 22:06 
Ну что ты, что ты - у них наверняка найдется готовый crate с yaml, xml и может быть даже asn.1 (но это неточно, в нем много unsafe)

Вот с парсером этого странного формата sudoers - пока что-то не попался, но они старательно ищут и может быть даже найдут.
Сразу после этого пойдут искать парсер командной строки.


"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 02-Май-23 16:54 
А на расте не умеют без вот этого всего ?

[workspace.dependencies]
clap = "4.0.32"
libc = "0.2.139"
thiserror = "1.0.38"
glob = "0.3.1"
sha2 = "0.10.6"
digest = "0.10.6"
signal-hook = "0.3.15"
log = "0.4.17"
syslog = "6.0.1"
env_logger = "0.9.3"

# Test only dependencies
pretty_assertions = "1.3.0"
tempfile = "3.5.0"

# Build time dependencies
bindgen = "0.63.0"


"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 02-Май-23 17:53 
Умеют. А зачем каждый раз изобретать парсер аргументов, приделывать биндинги к стандартной библиотеке, реализовать sha2, оборачивать сигналы, реализовывать логирование, подключаться
к syslog-у? Если в сях за 40 лет так и не научились делать модули, то почему другие языки
должны идти по этому пути мазахизма и вкорачивать реализации в код... вы кстати в папочку
vendors или в thirdparty зависимости кладете.

Во времена классического си с интернетом я так понимаю что были сильные проблемы и тогда
можно было так поступать, а сейчас какой смысл оправдывать такой подход? Да, для стран
вроде РФ в которой все могут зачебурнетить завтра действительно страшно, но я думаю,
что найдутся государственные цап-царапы предоставящие АлтРаст, АстраРуст и конечно РусРаст.

Так что не переживайте все будет хорошо...


"Проект по реализации утилит sudo и su на языке Rust"
Отправлено пох. , 02-Май-23 22:16 
затем что на нормальном языке программирования десяток строк "парсера аргументов" _проще_ и быстрее написать чем разбираться в чужой поделке, не исключено что содержащей ошибки.
И syslog() вызвать тоже ни разу не бином ньютона и для этого снова не надо использовать чужие велосипеды.

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

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

Ну и результат мы видим - поскольку готового модуля с парсером sudoers и парсером командной строки не попалось - эту несложную безделицу решили отложить на когда-нибудь сильно потом. А пока давайте еще раз "appease clippy" - и можно уже сообщить о невиданных успехах  -наша программа компилируется и не делает ничего.


"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Аноним , 03-Май-23 12:07 
>зачем каждый раз изобретать парсер аргументов, приделывать биндинги к стандартной библиотеке, реализовать sha2, оборачивать сигналы, реализовывать логирование, подключаться

к syslog-у?
Затем, чтобы потом не было таких новостей:

How one programmer broke the internet by deleting a tiny piece of code
https://qz.com/646467/how-one-programmer-broke-the-internet-...


"Проект по реализации утилит sudo и su на языке Rust"
Отправлено Коми , 04-Май-23 08:50 
Потому что в нормальном языке эти мелочи должны быть в *стандартной* библиотеке. А выносить все подряд в модули... Удачи. Жду модулей с for'ами, if'ами и тд

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено пох. , 04-Май-23 17:59 
так вон, выше жеж ссылка - помнят лефтпад.

"Проект по реализации утилит sudo и su на языке Rust"
Отправлено rvs2016 , 05-Май-23 12:13 
А чем авторов проекта по реализации утилит sudo и su на языке Rust не устраивают утилиты sudo и su, существовавшие до придумки этого проекта? 🤔