Маттиас Герстнер (Matthias Gerstner) из SUSE Security Team провёл аудит утилиты Please, развиваемой в качестве более безопасной альтернативы sudo, написанной на языке Rust и поддерживающей регулярные выражения. Утилита поставляется в репозиториях Debian Testing и Ubuntu 21.04 в пакете rust-pleaser. В ходе аудита была выявлена группа уязвимостей (CVE-2021-31153, CVE-2021-31154, CVE-2021-31155), приводящих к краху и не исключающих возможность создания эксплоитов для повышению привилегий в системе...Подробнее: https://www.opennet.ru/opennews/art.shtml?num=55167
Чем вам sudo не угодил?
sudo (и ему подобные) есть один большой костыль
А что за костыль?
костыль для обхода стандартного механизма прав пользователей
> костыль для обхода стандартного механизма прав пользователейКак всегда не прав. Это и есть "стандартный механизм прав пользователей".
может оно и так, но за «как всегда» обидно, а столько минусов у камента выше видимо от большого ума местных экспертов, которые сабжеподобные поделки воспринимают как должное
То есть su тоже костыль? А этот Please ничем не отличается, кстати от sudo.
По сути, да.
В норме не должен использоваться примерно никогда. Только когда нормальные механизмы не работают.
Есть же всякие полиси киты для юзверов, а для задач админов не используются вроде.
> В норме не должен использоваться примерно никогда.
> Только когда нормальные механизмы не работают.
> Есть же всякие полиси киты для юзверовГде нормальные механизмы, а где "штатные возможности" особого вида: http://opennet.ru/opennews/art.shtml?num=41307 (помнится, какой-то крендель в шляпе ещё втихую поменял умолчания по своему разумению, разрешив такое).
Стандартный это какой? Когда ты либо сидить под пользователем и ничего не можешь сделать с системой либо сидить под рутом?
Здесь у каждого эксперта свои стандарты.Работать только под непривелигированным пользователем. Пользователь может дополнительно, на время, получать привилегии других групп (это апсолютно безопасно только если / - ro, а /home, /tmp, /var - nodev,nosuid,noexec) в дистрах где есть rw,exec,suid так делать нельзя, - дыра.
Если надо рута, логинешся с консоли под рутом.
Если надо рута на удаленном хосте, то идешь по ssh обычными пользователем, потом su.
Если обычному пользователю надо иметь возможность выполнить пару команд из под root, например выключить или перегрузить компьютер, то они прописываются в файле /etc/inittab и выполняются из под рута процессом init.
> Здесь у каждого эксперта свои стандартына то они и стандарты, верно? 😉
У вас не верное понимание стандартизации. Прямо таки противоположно.
У вас неверное понимание иронии)
Стандарт - это мнение конкретного эксперта или группы экспертов.
Есть правильные, классические, простые стандарты UNIX.Которых абсолютно достаточно, но некоторые индивидуумы их не поняли:
https://www.linux.org.ru/forum/security/15600248?cid=15600633
https://www.linux.org.ru/forum/security/15600248?cid=15600757
https://www.linux.org.ru/forum/security/15600248?cid=15600880
https://www.linux.org.ru/forum/security/15600248?cid=15622030
sudo, dbus+polkitd+Java Script - нестандартные, неестественные, неприличные в UNIX извращения.
ну если бы sudo умел в regexp, тогда можно было бы с ним существовать.
Как же Вы, сударь, сейчас-то существуете?
Так doas же есть
Чем вам su не угодил?
Вообще-то тем же -- механизм _повышения_ привилегий. По-хорошему они могут только понижаться, а количество маршрутов переключения должно быть минимально.Например, некоторые знакомые вместо su(8) применяют ssh root@localhost по ключу -- при этом не происходит увеличения количества маршрутов относительно уже присутствующего sshd, обладающего достаточными привилегиями для обеспечения такой операции.
> Например, некоторые знакомые вместо su(8) применяют ssh root@localhost по ключуМихаил, опуская прелюдии скажу, это больные люди. Ты просто открой исходники ssh и su и сравни. su в разы(!) проще. Т.е. в ssh больше возможных проблем и ошибок. И если при доступе по сети это вынужденный риск(и, видимо, минимальный при существующих доступных функциях ssh), то локальное использование ssh в пользу su граничит с безумием.
Нормальные люди запрещают и su и ssh потому что не залогинившись рутом можно жить в Void. А психопаты-фанатики могут и дальше пользоваться системой, которой надо особое обращение пинком. На худойц конец 9front в помощ. Это ж надо такими атавизмами пользоваться.
Интересно, и когда это XBPS научился без рута устанавливать пакеты в /?
> локальное использование ssh в пользу su граничит с безумием.* Ну, вот раньше, считалось что для onion-сайта его HTTPS-фикация попросту НЕ НУЖНА (мол - оно лишнее, мол - и так всё уже подшифровано). А оказалось что ..... - ДА, HTTPS НУЖЕН! А вернее "it depends on" (а ещё конкретнее - от того как именно настроен сервер относительно Tor-подсистемы). Это как пример.
* В случае же знакомых Шигорина (забудем про https&шифрованиях - здесь речь о ПРАВАХ\привилегиях юзера) - может всё не так уж безумно и глупо? может всё же имеют смысл подобные мамбо-джамбо? (например как и указал Миша - уменьшение "количества переключений").
> (например как и указал Миша - уменьшение "количества переключений").Не переключений, а маршрутов.
>> Например, некоторые знакомые вместо su(8) применяют
>> ssh root@localhost по ключу
> Михаил, опуская прелюдии скажу, это больные люди.Профдеформированные -- безусловно (как и любой настоящий безопасник). Больные -- отнюдь.
> локальное использование ssh в пользу su граничит с безумием.
"вместо su"? А в чём безумие, если одним suid-бинарём меньше? (su при этом может продолжать применяться для _понижения_ привилегий, лишившись зубов)
Михаил, молитесь при запуске?
Вот этот конечно тут как тут. Прибежал на кормежку.
> Вот этот конечно тут как тут.Ну-ну, не трогайте пох, он -- святой!
У вас типа Стокгольмский синдром?
А вызов "ssh root@localhost" по ключу - это разве не переключение? По мне так гораздо хуже чем sudo.
> применяют ssh root@localhost по ключуsu (sudo) хотя бы требуют рутовый пароль, а ssh root@localhost БЕЗ пароля, может выполнить любой левый скрипт в системе и получить рутовые права. Шикарно!
Там говорилось не "без пароля", а по ключу.Ну и чем это поможет любому левому скрипту, когда ключ с хорошей кодовой фразой?
> Там говорилось не "без пароля", а по ключу.
> Ну и чем это поможет любому левому скрипту, когда ключ с хорошей
> кодовой фразой?Там НЕ говорилось ни про какую кодовую фразу!
Там просто говорилось по ключу, подразумевая по умолчанию ТОЛЬКО по ключу без какой-либо кодовой фразы!Вопрос некорректный как если бы вы спросили, ну и чем повредит забитый гвоздь чугунным микроскопом с усилинными креплениями зеркал (и про усилинные крепления зеркал вы бы не сказали. подразумевая что они по умолчанию).
>> Там говорилось не "без пароля", а по ключу.
>> Ну и чем это поможет любому левому скрипту, когда ключ с хорошей
>> кодовой фразой?
> Там НЕ говорилось ни про какую кодовую фразу!
> Там просто говорилось по ключу, подразумевая по умолчанию ТОЛЬКО по ключу без
> какой-либо кодовой фразы!Ну или процитируйте, где автор комментария явно говорит о ключе БЕЗ кодовой фразы, или признайте, что это ВАША личная интерпретация.
В последнем случае это ВАША личная проблема, если для вас все ключи по умолчанию БЕЗ пароля.
> Там просто говорилось по ключу, подразумевая по умолчанию
> ТОЛЬКО по ключу без какой-либо кодовой фразы!Вы, простите, убунтушник?
разве sudo требует рутовый пароль, а не пароль пользователя?
> разве sudo требует рутовый пароль, а не пароль пользователя?Справедливое замечание.
В openSUSE из покон веков /etc/sudoers
Defaults targetpw # ask for the password of the target user i.e. root
root ALL=(ALL)ALL # WARNING! Only use this together with 'Defaults targetpw'!Я уже забываю что в других дистрибутивах это не так.
Но зря, на мой взгляд это очень оправдано.
А если нужно какую-то безопасную (не sudo (sh|bash|vim|nano) * конечно же) команду позволить выполнить пользователю без рутового пароля, то можно позволить её выполнять вообще без пароля.
user ALL=NOPASSWD:...Позволять же выполнять опасную команду с запросом пользовательского пароля, я считаю очень глупым и не безопасным.
Да нормальная это тема вводить пароль пользователя для sudo и вполне себя оправдывает.
Во первых, не всем пользователям можно давать sudo. В Дебиане как мне помнится sudo не настроено было.
Во вторых, если ты "скомпилил и установил" вирусняк, то ты не будешь автоматом вводить какой либо пароль. Собственно безопасность не страдает.
В третьих, можно разрешить конкретные операции sudo как требующие пароля, так и не требующие.
А вот ввод пароля рута, дает более высокие риски компрометации системы.Что бы понять суть поднятой проблемки, то, представь что ты сидишь и логинишься в систему в общественном месте, где куча камер. По сути твой пароль уже слит. Ты делаешь SUDO... и если ты ввел пароль рута, то ты и его слил.
По сути sudo, это "кредит доверия" от root пользователя. Ну и за одно, это не дает лишний раз наделать глупостей. И собственно выдается не всем пользователям (не все входят в группу sudo).
Про во-вторых я не понял. но признаю. да в некоторых случаях всё же лучше вводить пароль пользователя нежели рута (например если это не твой комп, а сотрудника, но за комп и секюрность отвечаешь ты).Себя сидящим с ноутом в общественном месте вводящим рутовый пароль, я как раз не представляю.
Для этого на безопасные операции (обновление, перезагрузка юнитов, поднятие/опускание Wi-Fi) я сделал беспарольный доступ.
Ковыряться в конфигах (обычно для этого я запускаю "kdesu kate" или "sudo mc /etc") в общественном месте я бы не стал, но не исключаю такой необходимости.
Сори, то я притянул за уши, из треда где обсуждали вообще использование как таковое sudo.На счет безопасных операций, делаю аналогично)
> Defaults targetpw # ask for the password of the target user i.e. rootа так можно было?!
> Я уже забываю что в других дистрибутивах это не так.
ну в убунте вообще ничего вводить не надо, в убунтах по умолчанию `sudo <anything>` как универсальный способ обхода этих ужасных ограничений.
>Чем вам su не угодил?Не на Rust.
Тем, что su открывает полноценную рутовую оболочку, где может кто угодно. с доступом к ней выполнить любую команду неограниченное кол-во раз.
sudo запускает с повышенными правами ТОЛЬКО этот один разрешённый процесс (и его потомков).Например, ты запускаешь через su обновление или другой длительный процесс, тебя отвлекают, просят подойти или ты сам уходишь что-то делать ещё оставляя комп без присмотра.
Кто-то подходит к компу, сворачивает обновление в форграунд и перед ним полноценная рутовая консоль где он может сделать что угодно, а потом снова развернуть процесс в бэкграунд.Через sudo такого НЕ произойдёт, так как привилегии повышаются только одному процессу и только в этот конкретный запуск (если через пароль рута), и при сворачивании его консоль запущена от обычного пользователя.
И что произойдет при sudo sh?
Что помешает мне запустить там screen и наплодить процессов?
> И что произойдет при sudo sh?Если /usr/bin/sh, не определена в sudoers, то только запрос рутового пароля.
> Что помешает мне запустить там screen и наплодить процессов?Желающему выстрелить себе в ногу никогда и ничего не помешает!
Смысл в том что нельзя так делать (su, sudo su, sudo sh, sudo bash, sudo -i, и прочее).
Нужно запускать конечное приложение или скрипт (sudo zypper dup, sudo vim /root/.ssh/authorized_keys, sudo systemctl edit systemd-networkd-wait-online, sudo -Hu mpd alsamixer -D equal, и прочее).
> Желающему выстрелить себе в ногу никогда и ничего не помешает!
> Смысл в том что нельзя так делать (su, sudo su, sudo sh,админы впопеннета. Ну освой уже ключ -с у команды su и не позорься.
А еще лучше - научись не работать там где ходят диверсанты. Еще от миллиона проблем спасает.
Страшные и ужасные враги его отвлекут и патч бармина применят, конечно же, они - окружают!
Только постоянная бдительность спасет бедолагу!
Подскажите планету на которой вы работаете?
В солнечной системе я подобных не знаю!
> Нужно запускать конечное приложение sudo vimЭто была шутка юмора?
К чему тогда запрещять запуск шела, если можно запустить вим и получить шел десятком разных способов ??
>> Нужно запускать конечное приложение sudo vim
> Это была шутка юмора?к сожалению, нет
> К чему тогда запрещять запуск шела, если можно запустить вим и получить
> шел десятком разных способов ??админы c опеннета незнакомы с этими способами.
>> Нужно запускать конечное приложение sudo vimsudo vim /root/.ssh/authorized_keys
С указанием абсолютного пути файла!> Это была шутка юмора?
Это ваш толстый троллинг или глупость.
Ага, а дальше :!sh и погнали...
sudo vs su - это скорее попытка защитить тупого пользователя от кривых лапок, чем что-то про безопасность от врагов вокруг
> Чем вам su не угодил?Тем, что `su` требует пароль рута, а sudo — пароль пользователя.
Для su у рута должен быть пароль.
А с sudo можно сделать, чтобы у рута не было никакого пароля (не в смысле пустой, а в смысле никакой пароль не подойдёт — пусть подбирают хоть до посинения).
То есть зайти от рута в консоли или ssh невозможно вообще, но запускать от рута программы через sudo можно.
Наверное новая секта, борцы за права роботов, говорят что алгоритмы тоже имеют право на вежливое общение и правильно говорить комплюктеру:
$Пожалуйста, АПТ, установи мне глимпс
это скорее для мира продуктов эпл, где надо не говорить, а уговаривать.
> это скорее для мира продуктов эпл, где надо не говорить, а уговаривать.как же у фанатов нас..но в головы. Please - у вас в вашем прекрасном линoops, но вы продолжаете звездеть про "мир эпл". П-ц - у ВАС. Уже, пришел, уютно устроился. Но пока еще не полный, так местами. Можно уговаривать, но еще необязательно - будет в следующей версии.
Но вы продолжаете поливать гуаном эпл.
Который видели только по телевизору, ибо зарплат лап4-х фанатиков хватает только на доширак и ксяомю с битым экраном.
У него ФАТАЛЬНЫЙ недостаток!
> Чем вам sudo не угодил?Ржавая хипстота-с, поди их разбери, сперва обколются своей ржавчиной, а потом кричат про сишные дырени...
Погоди-ка?! Это что же получается?!... OH SHI--!
Оказалось, что переписывание всего на расте не решает всех проблем? Вот это да.
Ну, какбы, да: логические и алгоритмические ошибки rust, какбы, и не намеревался исправлять. Это ж не AI, в самом деле.
Дык огромная и наиболее серьезная часть - именно логические и алгоритмические. И решение там одно - делать код максимально простым, наглядным и максимально_читаемым.Самое забавное, что их не только раст не предотвращает, но и типизация как таковая( но это уже к слову про адептов «всеисправляюшего» тайпскрипта для жс, когда, вместо годно читаемого кЭповского кода, получается перегруженная спецсимволами и директивами куча гомна в стиле худших подходов к написанию плюсОвого кода )
> Дык огромная и наиболее серьезная часть - именно логические и алгоритмические. И
> решение там одно - делать код максимально простым, наглядным и максимально_читаемым.+1. Какбы и не спорю, писать проще и понятней - это и к rust тоже относится. Синтаксис у него, конечно, не подарок, но терпимый. Однако когда ещё и написано так, что лучше бы не писали, то тут ничего не спасёт от ошибок.
Стоп, стоп, стоп, господа гусары, отставить скакать галопом в такую простую троличью засаду.
Не успеете сабли достать вас тупо картечью покрошат из-за вашей наивной невнимательности.
Изящное фехтование тут не канает.Начните со следущего вопроса, для начала
> Оказалось, что переписывание всего на расте не решает всех проблем? Вот это да.
А кто и кому пообещал, что Rust должен решать все проблемы?
С теми кто такие провокации из засад в эфир пускает, Rust-спецназ разберется быстро и эффективно, они за свой базар ответят своим позором.
А, вы, салаги, идите пока учите пузырьковые методы сортировки массивов (ну или что вам там еще старшина придумает). Рано вам всем еще пока в Rust.
> А кто и кому пообещал, что Rust должен решать все проблемы?Комментом выше по треду я разве не это же написал?
молодец, что написал, герой!
теперь марш картошку чистить и казармы драить!
Прапорщик Задов, залогинтесь.
Еще один бездарный юморист.
Фрактал, ты что ли шифруешься, боясь показаться?
Давай логинся!
> Фрактал, ты что ли шифруешься, боясь показаться?
> Давай логинся!Конечно но я! Кто ж еще? Тут просто на собрании с анонимами с анонимного компа пишу.
Ну как же. Приходили маркетологи говорили что с растом наша жизнь не будет прежней, надо срочно на него приходить. Пару лет назад каждый пятый комментарий был про то что надо на раст переписать все. Одни вон взялись систему переписывать, другие браузер, третьи гну утилиты, четвертые игры пошли делать. Ничего не взлетело. Теперь вот растоманы видимо поняли что обанкротились, теперь говорят будем на расте чужую систему писать(и пока довольно неудачно), браузер сам по себе и вообще к расту уже отношения не имеет, а кривые утилиты это и не раст виноват вовсе, а разработчики (внезапно, ведь плюсы критиковались также и раст предлагали как решение, а теперь внезапно и раст подвержен тому же с чем боролся). Проблемы с управлением памятью решались и в плюсах, может и не так хорошо, но они и быстрее и инструментарий и либы для них уже давно написаны. Возникает вопрос насколько вообще нужен был раст, если решаемые им проблемы решались другими методами (пускай и не так хорошо) и бесплатно (без 10 лет развития раста и впустую потраченных человекочасов).
>Синтаксис у него, конечно, не подарок, но терпимый.Самое базовое,
праворульную хрень - пытаются впарить на перевозки(проекты) и водилам с опытом на леворульной хрени ?
в чем проблема была расширить синтаксис C-like, ну там терминатор прикрутить к дekларации и передачи переменных ?
нет *ть, надо по новому/"науке"/ и т.д. сделать
C++ уже сто лет как есть. И с 11-го года он хорош и вылечен от сишных болезней, да и последующие улучшения хороши (и, в отличие от многих, обратно совместимы).
Дык есть же уже давным-давно С++. Но народ не хочет учиться, народ хочет "пирооооженава, марооооженава, и не работать!".Вот для этого раст и создавался, чтобы ленивые неосиляторы, которых не удовлетворяют тормоза питона, могли программировать без риска наступить на элементарнейшие грабли.
Однако, оказалось, что так не бывает - и язык пришлось регулярно усложнять и еще раз усложнять (и все еще с каждым апдейтом усложнять), пока он не превратился в еще менее удобочитаемого монстра, чем С++. let mut hujyt...
И, что б ты знал, никакого "по науке" там нету и никогда не было. Иначе бы синтаксис не меняли каждый месяц.
>Однако, оказалось, что так не бывает - и язык пришлось регулярно усложнять и еще раз усложнять (и все еще с каждым апдейтом усложнять), пока он не превратился в еще менее удобочитаемого монстра, чем С++. let mut hujyt...Схоже ждет судьба Perl`a
>И, что б ты знал, никакого "по науке" там нету и никогда не было. Иначе бы синтаксис не меняли каждый месяц.
Не, таки науки немного есть ..
C ordu был разговор, про порядок декларации/передачи типов и переменных, это мол офигеть наyчно, компилятор бдит и прочее..Но хотя бы нормально синтаксис объявления/передачи "правильно" - рульным(C-like) сделали ?
Пожмотились "терминатор" расширить/добавить в синтаксис для объвления/передачи переменных !
Чего-то в Java и порчих C шарпах - рядового копальщика байтов не стали "особо" растраивать "по науке" лишний раз ?!
не, уже давно доказано что логические и алгоритмические ошибки это порядка 30% от общего числа ошибок, остальное это в основном переполнение бочка.
я понимаю что у некоторых праздник от того что нашлась ошибка в программе которой меньше года и версией 0.4, но может для начала нужно глянуть сколько ошибок в том же уже 20+ лет зарелизенной sudo
[1999-11-17] Sudo version 1.6 released.
[i]уже 20+ лет зарелизенной sudo[/i] - уже 10+ лет как закрывающей бизнес цели пользователей.[i]алгоритмические ошибки это порядка 30% от общего числа ошибок[/i] - это смешали всё в кучу и посмотрели что получилось. нет большей лжи, чем статистика.
>[i]уже 20+ лет зарелизенной sudo[/i] - уже 10+ лет как закрывающей бизнес цели пользователей.и ? лопата должна быть одна и навсегда ?
>[i]алгоритмические ошибки это порядка 30% от общего числа ошибок[/i] - это смешали всё в кучу и посмотрели что получилось. нет большей лжи, чем статистика.
к чему это сказано непонятно ? если у вас есть специальная статистика то озвучьте её
[i]и ? лопата должна быть одна и навсегда ?[/i] - нет ничего плохого в любых новых реализациях ПО. Написание чего-либо на другом языке часто позволяет взглянуть на вещи иначе. Увидеть новое без усталости от прожитых лет.[i]если у вас есть специальная статистика то озвучьте её[/i] - нужно смотреть список исправлений именно по sudo.
> и ? лопата должна быть одна и навсегда ?Есть такое древнее понятие, называется "изобретение велосипеда". Надо не лопаты, которые успешно столетиями используются, бессмысленно переделывать, а экскаваторы создавать.
Ну почему - если добились того, что у нового велосипеда на 70% уменьшилось кол-во проколов колес (а остальная кривизна осталась как у старого велика) - я двумя руками буду за новый. А вы сидите и камеры заклеивайте. Главное чтобы прокол, которого можно было бы избежать на новом велике, не случился, когда Вы под сотню несетесь с горы.
Растофанатики не отличают покрышку от велосипеда?Ну кто бы удивлялся.
> но и типизация как таковаяА как связана читаемость кода и типизация, собственно? Питон, например, сильно типизированный язык, но это не делает его нечитаемым (я сейчас не говорю про отступы в виде пробелов). Аналогично Си, Го, Java. Если язык сильно перегружен операторами, у него громоздкий синтаксис, то это проблема не типизации, а языкового дизайна. Тот же упомянутый тайпскрипт не заставляет разработчика использовать все его спецсимволы, директивы, и проводить сверхмудрёную типизацию, если не пытаться перенести стиль и принципы слаботипизированной разработки JS на тайпскрипт, который ближе к C# в этом плане.
> когда, вместо годно читаемого кЭповского кода, получается перегруженная спецсимволами и директивами куча гомна в стиле худших подходов к написанию плюсОвого кодаОооо. Мужик! Ты просто описал мою боль и негодование.
Типизация (в нормальных языках вроде плюсов, хз что там в тайпскрипте), как минимум, очень добавляет читаемости - видно, что именно принимает и возвращает метод, и это не может устареть в отличие от всяких доксигенов, и гарантированно энфорсится.Вплоть до того, что плюсовые кодстайлы часто запрещают auto для параметров и типа возврата функции без внятного обоснования его необходимости - именно для сохранения читаемости.
А вот что основная проблема - это именно логические и алгоритмические ошибки - согласен полностью.
> Вплоть до того, что плюсовые кодстайлы часто запрещают auto для параметров и типа возврата функции без внятного обоснования его необходимости - именно для сохранения читаемости.Ты, очевидно, никогда на С++ не писал. "сохранятель читаемости". Я на auto просто молюсь уже который год подряд.
for (std::vector<std::map<int, std::string>>::const_iterator it = name_phones.begin(); it != name_phones.end(); ++it)...
>> Вплоть до того, что плюсовые кодстайлы часто запрещают auto для параметров и типа возврата функции без внятного обоснования его необходимости - именно для сохранения читаемости.
> Ты, очевидно, никогда на С++ не писал. "сохранятель читаемости". Я на auto
> просто молюсь уже который год подряд.
> for (std::vector<std::map<int, std::string>>::const_iterator it = name_phones.begin();
> it != name_phones.end(); ++it)...так it это не аргумент функции и не тип её результата, а переменная automatic storage duration.
#define num(x) (sizeof (x) / sizeof (*x))
В С++ размер массива считали темплейтом, в C++17 стандартизировалиtemplate <class T, std::size_t N>
constexpr std::size_t size(const T (&array)[N]) noexcept;
С++ = С卐
Свастика - хороший арийско-ведический знак.
То что его фашисты заюзали... ну бывает в истории.
А сколько зверст римляне творили, и как бы ниче, типа времена такие были...
И прочие цивилизации, все по своему отличились в разные периоды...
К пятиконечной звезде, между прочим, претензий гораздо больше по сатанистской линии...
> Ты, очевидно, никогда на С++ не писал. "сохранятель читаемости". Я на auto просто молюсь уже который год подряд.Поэтому куча постплюсовых языков и использует let, var и прочие let mut )
Зачем так делать? Можно ведь так:for ( auto &&name_phone : name_phones ) ...
Именно.
Это не проблема типизации, а проблема хаотичности самого С++. В том же Go, где сильная и строгая типизация, такой проблемы нет.
А если нет разница, тогда зачем использовать раст?
> А если нет разница, тогда зачем использовать раст?Лайфтаймы, типизация и всё вот это, что предлагает rust, даёт некую уверенность в том, что ты случайно не накрошишь ошибок доступа к памяти и прочих, выявляемых статанализом/borrow-checker-ом.
Однако помимо этого есть ещё куча типов ошибок, от нахождения и исправления которых никто не избавлял (ну только если AI, который ещё не изобрели). Считать, что Rust магическим образом исправит сразу все типы ошибок и наступит красота и благоденствие - идиотизм. Но если язык даёт какие-никакие плюсы и облегчает жизнь, то можно попробовать его плюсы использовать.
ЗЫ. Тем не менее, считать, что всё и сразу надо срочно переписать на rust ИМХО - такой же идиотизм.
Очередная бредятина от фанатика
Завалил фактами)
Завали Фракта1л
А если с более строгими языками сравнивать, чем си? Плюсы там, go, c# наконец? Вдруг оказывается, что 95% проблем и так ловятся/не возникают (ну не выйдешь ты за пределы std::vector при каноничном применении), и остаются извращения с borrow-checker-ом, где возни больше, чем профита. Зато лозунги красивые.
> А если с более строгими языками сравнивать, чем си?Ну претензия на нативщину/системщину, какбы. Так что тут остаются в сравнений только плюсы (ну какой-нибудь ныне маргинальный Pascal/Oberon не будем, для ясности) с их 1001-им способом отстрела конечностей.
Нет, я понимаю, конечно, что соблюдаем RAII/good practicies и прочие "приседания со штангой" это нужно и важно, но если хотябы часть этого может контролировать автомат - пусть он этим, пожалуйста, займётся. Ну и, в конце-концов, rust - это не безальтернативная данность и у авторов всегда есть возможность пользоваться для проектов тем, чем они посчитают для себя нужым.
> Но если язык даёт какие-никакие плюсы и облегчает жизнь, то можно попробовать его плюсы использовать.И как типичный растофанатик - ни слова о минусах.
Вот у брейнфака тоже есть неоспоримые плюсы:
1) самый простой из тьюринг-полных языков программирования (всего восемь сущностей), научить брейнфаку можно за две минуты даже 4-летнего ребенка.
2) полное отсутствие утечек памяти, указателей, переполнений стека и делений на 0."Но если язык даёт какие-никакие плюсы и облегчает жизнь, то можно попробовать его плюсы использовать." (с)
> И как типичный растофанатик - ни слова о минусах.Я где-то призывал писать только на нём? Я где-то написал что rust - это самый офигительный язык, который я видел? Что-то я такого не помню. то что он имеет свои сильные стороны - это я писал. Вот то, что есть точка зрения, что надо попробовать и решить: перевешивают-ли плюсы, предоставляемые языком, его ограничения - это я писал.
> Вот у брейнфака
И в чём аналоги? Он когда-то позиционировался, как промышленный язык. На нём вообще, кроме приколов, что-то когда-нибудь писали?
> научить брейнфаку можно за две минуты даже 4-летнего ребенка.А как ему название объяснить?
а зачем, он же в четыре года не знает английского? Просто название, ну как автобус или крокодил.А воспитательницу в детском саду поздно уже жалеть - он же ж ей кодом похвастается, а не названием. Тут-то она в дурку и поедет.
Чтобы было меньше таких "Уязвимости в подсистеме eBPF, позволяющие выполнить код на уровне ядра Linux" новостей.
Эта новость показывает, что сам по себе Rust от этого не поможет.
> Это ж не AI, в самом деле.Вот мы и подошли к логическому выводу, что Rust устарел в наш век RTX видеокарт. Пора написать свой язык с AI а Rust выкинуть на помойку истории! /s
|Оказалось, что переписывание всего на расте не решает всех проблем? Вот это да.А что должно?
Нет. За то и речь. На хера попу гармонь если у него кадило есть?
> Оказалось, что переписывание всего на расте не решает всех проблем? Вот это да.Оказалось, что раст такого никогда и не провозглашал, это были спорящие голоса в Вашей голове. Раст не позволяет совершить те ошибки, относительный вес которых в типичных Си-программах составляет порядка 70-80% от всех допущенных в программе ошибок. Если бы он мог защищать еще и от логических проблем с учетом контекста решаемой предметной области - все программисты были бы уже не нужны. Наверное как и человеки в целом.
> rust-pleaserРжавый попрошайка.. а то и ржавый удовлетворитель..
Отличное название для пакета :)«Внезапно» оказалось, что переписывание с одного ЯП на другой не избавляет от логических ошибок.. равно как и типизация как таковая.
> ржавый удовлетворитель.
> rust-pleaserСпасибо для моей эмо-корн-нойз-панк группы.
Думаю, можно также назвать первый альбом в стиле украинского фолк-харддабстепа с нотками арабского поп-италодиско и мотивами узбекского дарк-эмбиент-рэпа
>> ржавый удовлетворитель.
>> rust-pleaser
> Спасибо для моей эмо-корн-нойз-панк группы.А я всё гадаю, куда хэккерская блэк хэк крап крю тим войтохедов (а стало быть и черношляпников) пропала.
Orgonite - Habibi Yaeni
Есть в русском однокоренное (от франц. plaisir) слово «Блезир»В словаре Ожегова
БЛЕЗИР: для блезиру (прост.) - только для вида, для видимости. Замок на двери висит для блезиру.
В словаре Даля
м. франц. сделать что для блезиру, от нечего делать, ради забавы, шутки. | Печники зовут блезиром одно зеркало голландской печи, один бок ее, складенный подлицо (вгладь) со стеной, тогда как сама печь и топка ее в другой комнате.
> «Внезапно» ДЛЯ НЕКОТОРЫХ оказалось, что переписывание с одного ЯП на другой не избавляет от логических ошибок, равно как и типизация как таковая.Поправил.
"Фрактал" ау!!! Ты где??? Вот уже подъехали Растовые дырени. Где "Виллем" родившийся в 1982 году?!
Растовые дырени растут с каждым днём: https://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=rust за 2021 год ужеА вот и патчи из Пенсильвании подвезут: https://cseweb.ucsd.edu/~yiying/RustStudy-PLDI20.pdf
Вот это поворот
Что-то не понятно - а эксплойты есть или нет? Написано что утилита крашится (наверное панику ловит). В общем ждем подробностей.
> не исключающих возможность создания эксплоитов для повышению привилегий в системеПо крайней мере, понятно то, что не все умеют в чтение.
Не поспоришь....
Очередной хеллоу ворлд
Безопасность™! Её театр и сюда добрался.
Надо обозначить небезопасные алгоритмы, как unsafe. это сильно увеличит безопасность, т.к. перепроверять только unsafe части
Надо обозначить небезопасных программистов, как unsafe. это сильно увеличит безопасность, т.к. перепроверять только unsafe части, а Авторизованные Кодо(с)Макакеры(тм) на то и Авторизовонные и Сертифицированные, чтобы не делать ошибок
Безопасных программистов не бывает в принципе. Даже самые опытные программисты совершают ошибки. Только их цена уже исчисляется миллионами долларов.
Разве можно писать хорошие программы на хипстерском NIH-языке с таким безумным синтаксисом?
Нельзя, но верить в том что можно можно.
не тольком лишим в том
Неосиляторам кончено что нельзя
Называть современный (а не привет из 80-ых like убогие C/C++) хороший (и любимый на stackoverflow) язык с самым активным ростом хипстерским NIH - это сильно, ничего не сказать.А что синтаксис? Отличный логичный синтаксис.
Вот сколько ты кодил на Расте? Небось максимум хелловорлд написал.
Было: для написания "SUID-кода" нужно было досконально знать дизайн выдачи прав в системе и C.Стало: для написания "SUID-кода" нужно было досконально знать дизайн выдачи прав в системе и C (а как иначе осознавать к чему ты "биндишься"?) *и* rust.
Короче, "15-й стандарт" во всей красе. Вероятно, rust просто пихают не в ту нишу. Есть же группа ЯП с "доказательствами безопасности". Почему бы не попробовать себя там?
А то как лет 20+ назад. Тогда был движ "перепишем всё на безопасной java". Но там хотя бы не пытались выдавать прикол за полезную работу.
На счёт доказательств математических: почитай историю о задаче замощения плоскости пятиугольниками. После того как математики описали N типов пятиугольников и доказали, что других типов, котороми можно замостить плоскость, не существует, обычная домохозяйка дважды нашла ещё по одному типу. Математики оба раза нашли ошибку в доказательстве и поправили, после чего сказали, что теперь точно других нет. Потом другие люди ещё пару типов нашли. С тех пор мат журналы не принимают доказательств по этой задаче =)
Ха-ха-ха-ха-ха! Феерично!
Опять растаманы себе в штаны навалили!
Когда программисту делать нечего, он не яйца лижет, а на расте переписывает
А что, первое было бы лучше?
Лучше пусть яйца лижут себе, чем захламляют ойти ржавым мусором.
Они не собираются, это ж не они предлагали.
как там у вас говорят, ржавая дырень )
А где же болт для дыры тогда?
Вот такая Гниль, такая гниль!
узвимости? надо срочно переписать на расте... ох вэйт...
Новость рассмешнила. Самый безопасный язык говорили они...
Язык - не панацея, голову тоже иметь надо.
Так если голову нужно иметь то чем тогда Си/С++ плох?
Модные же языки кроме как похвастатся что голова не нужна больше предложить нечего.
А вот оказывается что голова нужна )
Разрешаю тебе не пристегиваться ремнем безопасности в машине, ходить по стройке без каски и переходить дорогу на красный.
> Уязвимости устранены в ветке Please 0.4То есть, речь идёт о сырой поделке?
тем не менее, эта сырая поделка проникла в "стабильную" версию убунту.
Поделки умеют проникать. Это их главное свойство.
- Убунта использует в релизе сырые курсовые работы
- Виноват язык программирования
.........
Язык опять не вывез даже то что обещали его маркетолухи. С другой стороны всем нормальным людям было понятно что маркетолухи раста обещают чушь.
Что не вывез, что вместо потенциальной уязвимости просто падает - сюрприз-сюрприз это намеренная фича ржавого.
Хоть одна ищ этих уязвимостей связана с особенностью языка? Хоть одна из них реализована через переполненные буфера? А если нет, то зачем врёте?
ну а в sudo написанном на си, фиксировалось управление памятью?
Речь не по поводу того что раст такой дырявый весь а с++ крутой и стабильный. Речь за то что везде голову нужно включать. и если так, то в ногу себе стреляют на с++ не изза того что язык такой, а изза того что олень.
Разницу улавливаете?
* на си, фиксировалось утечка памяти?
Не очень. Голову надо включать везде, но Rust гарантирует отсутствие наиболее частых классов ошибок. Претензии к Rust всё ещё не ясны.
Нет. Само оно по-умолчанию не ставится. Если ты ставишь вместо стандарта де-факто sudo какую то поделку, то должен понимать что это и зачем.
вот и неуловимый Джо кого-то заинтересовал
Пора уже выпускать убийцу раста, где нужно математически доказать корректность логики, иначе программа не скомпилится
а против уязвимостей класса time-of-check-to-time-of-use :-) -- каким образом доказывать собираешься?"допустим многопоточности не существует" :-D :-D :-D :-D
Да давно уже есть. Idris, Agda, Coq и другие. Но математиков намного меньше чем программистов.
Хорошо наверное, что в su аудит не проводят, а то бы я расстроился.
Вывод такой: каким бы прекрасным и безопасным не был язык, это не даёт никакой гарантии, что нем не пишет рукажоп. Так что особой разницы нет между сишкой и растом нет, на обоих может получиться ре-ше-то. Расходимся!
Вывод второй: компьютеры созданы не для развлечения программистов, а программа - это не вольное сочинение на тему "как я провёл лето", поэтому нужно применять такие языки программирования, которые хочешь не хочешь, а заставят писать правильно, даже обезьяну. Как по трафарету: или правильно, или никак. А программисты-художники с их "я так вижу" и "мне так удобно" просто не нужны. Не нравится - иди к Собянину плитку клади.
и что вы предлагаете писать на питоне? )
Вы акуле с Уолт Стрита расскажите что принимать собственное решение о покупке тех или иных акций, на основе бвзовых понятий экономики из Марксистской теории это не современно и что безопаснее использовать готовые боты которые сами тебе скажут какие акции покупать. Тебе скажут - "друг, ты чего хочешь? ты кто?"
Вы про такие хайповые боты можете сколь угодно рассказывать, но слушать вас будут только олени, которые последвух трех кликов мыши будут считать себя будущим Соросом.
В целом согласен. Однако...> нужно применять такие языки программирования, которые хочешь не хочешь, а заставят писать правильно, даже обезьяну.
а) "Невежество - единственный язык, которым владеют все программисты." - в цитате выше об этом?
> Как по трафарету: или правильно, или никак.б) "Создай систему, которой сможет пользоваться даже дурак, и только дурак захочет её использовать."
(* а) и б) - законы Мэрфи *)
Может дело в другом? В порочной системе управления процессом разработки и эксплуатации программ? В ошибках кадровой политики и системы контроля качества?
Как в том анекдоте, где в погоне за прибылью борделя меняли койки(ЯП) вместо того, чтобы нанимать, обучать мастерству проф-пригодных девочек.
P.S>
К слову. Образцовая укладка плитки так же требует, в первую очередь, мастерства, гарантированного стажем работы по специальности облицовщик-плиточник.
Разница есть.
Во-первых, он действительно безопаснее на фоне C. Но его безопасность немного о другом и, на мой взгляд, вообще не основная фича.
Во-вторых, удобнее и функциональнее как небо. Это действительно современный приятный ЯП со всех сторон.Если на любом языке может быть рeшeтo, то не стоит хотя бы использовать морально устаревшие.
>Но его безопасность немного о другом и, на мой взгляд, вообще не основная фича.а какая основная?
Народ, ну ведь практика последних пры лет чётко показывает то, что было понятно с самого начала: да, Раст обещает сильное уменьшение вероятности наличия уязвимостей. Цена этого: резкое увеличение нагрузки на человека -- программиста. На расте тупо необходимо держать в голове большее число связей. Результат: увеличение сроков и появление уязвимостей и/или некорректностей уже не в работе с памятью, а в самой логике. Судо, очень простая по логике утилита. Если уж даже тут наляпали, то какая ещё иллюстрация нужна?
> необходимо держать в голове большее число связейВесь прикол в том, что и на C или C++ тоже надо всё это держать в голове, но никто этого не делает, поскольку офигеть какой из себя проффесионал :)
Если Раст ругается на что-то, что работало в C/C++, велика вероятность того, что в C/C++ в этих местах была ошибка или возможная уязвимость.
Т.е. Раст как раз облегчает взаимодействие в этом плане, давая возможность писать логику, а не париться с языком.
Ок. Выкидываем к херам Rust и переходим на Zig.
> Ок. Выкидываем к херам Rust и переходим на Zig.ну, про "выкинуть" я ни слова не говорил. экологическая ниша очевидна: драйвера. и то, до этого пилить и серьёзно пересматривать модель и стандартную библиотеку.
Про "переходим", тоже не говорил ни слова: каждому инструменту, своя работа. Хотя, сам очень неровно дышу к D: писать на нём можно со скоростью Питона.
Что получится из Zig, будущее покажет: сообщество вокруг явно дохловатое.
Да он отвечал на 2.285 )))
"Но его безопасность немного о другом и, на мой взгляд, вообще не основная фича" а даже так, не основная вича.
Чушь не неси, фича. Для программиста на первом месте это возможности языка программирования а не его фичи.
название доставило.
Очередное доказательство языко-, платформо-, системо- и пр. независимости косяков. Вот и всё.
Если они не могут повысить свои скилы, они просто начинают верить в сраст
Целое Петросян шоу в комментах устроили
Евгений Ваганыч юморит, а тут сатира как у Задорнова.
Растаманы как обычно? Ну, штош, ожидаемо.
Эх, можно было бы выполнить комманду:please bootstrap rustc from mrustc in off-line mode quickly
Да вам бы сударь на КОБОЛ-е писать!
PS. В одной из "русифицированных" версий КОБАЛ-а, емнип для Минск-32, GO [TO] было как ИДИ [НА]. ;)
Это в приципе невозможно! Но вот опять.
Этот риторический приём называется соломенное чучело.
Когда инструмент работает много лет и стабильно, что уже не знаешь что в нем развить еще чтобы следовать тренду каждый квартал релиз с новой фичей.Решаешь все переписать с нуля на другом языке программирования, таким образом создать новые недостатки, новые уязвимости, новые ошибки и недоработки.
А потом в течение следующих х-лет стабильно осваивать бюджет на развитие этой "безопасной" подделки, у которой в первых версиях вылезли уязвимости которых в принципе быть не должно было...Это когда Windows-way приходит в Unix-way.
Привет платиновуму спонсору OpenSource проектов - Microsoft !
Не хотел бы тебя огорчать, но в оригинальной sudo (и да, именно ради релизов раз в квартал) было принято сажать ведущие к получению рута баги еще пятнадцать лет назад. Балмер еще прыгал "developers, developers!" с бананом перед стаей обезьян, и считал линукс вредной и ненужной фигней - а аффтар уже трудился как проклятый.В основном таки безобидные (в смысле, если не использовать вредное ненужно, оно тебе и не мешает) но иногда о тебе могли позаботиться собиратели пакета, включив это ненужно по умолчанию (или просто притащив конфиг из examples не разбираясь)
3 CVE на helloworld. Безопасненько так.
в расте безопасность это про работу с памятью при отсутствии gc, от кривизны рук защиты ни какой.
Слышал об этом еще до появления оговорки про кривизну рук.
Враньё.Смотри сам: https://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=rust
и считай все double free, use after free и прочие подробности в описании к CVE.
Rust не даёт никакой безопасной работы с памятью
Что то знакомое... одним "кривизна рук" мешает, другим "кривизна земли"... вы случаем не в одном КБ работаете?
Чего б не написать на расте более простой и понятный аналог selinux? Но нет, это они осилить не в состоянии...
херассе, "это осилить", когда неосилен простой и понятный в общем-то механизм sudo (не то чтобы простой в реализации, но там вроде и реализация-то, как всегда, на 10% от имеющегося)Ничего что selinux - часть ядра? Причем сложнейшая и встроенная в миллион ядерных механизмов, потому что на любой чих им надо проверить "а не включен ли у нас selinux, и если да - что он говорит по этому поводу?"
Пока что хрустеры ниасилили даже dummy драйвер на нескучном язычке - с минимальным числом изменений, затрагивающих остальное ядро.
Кстати, хозяйке на заметку - сам по себе механизм там прост и понятен. Непонятно что делать с таким механизмом - ибо он настолько прост, что сам по себе бесполезен.
Рисование же политик с детальным описанием каждого допустимого чиха - внезапно, оказалось нечеловечески трудной и практически нерешаемой задачей.
Заголовок: ИНФОРМАЦИЯ ВАПАСНАСТЕ УЯЗВИМОСТИ В РЖАВОМ
Содержание: необработанная логика приводящая к краху и нет никаких оснований ожидать возможность создания эксплоитов для повышению привилегий в системе.
секьюрити эксперт suse, кстати, нашедший баг при первом же потыкивании палочкой в код (как я понимаю - на предмет надо ли пробовать тащить в дистрибутив, как все, или ну его, плохо пахнет) правда, считает что основания вполне имеются, но впопеннетовскому анониму, конечно же виднее. Он, разумеется, не умеет кодить вообще.
По данной логике тебя, например, можно считать гомосексуалистом, потому что НеЛьЗя ИсКлЮчАтЬ ТаКуЮ ВоЗмОжНоСтЬ.
Так понятнее?
> По данной логикеКогда заходит речь о людях, тогда действуют согласно этике. Априори считать человека таким плохим словом -- неэтично. Зато если кто-то вдруг назвал так кого-то на ровном месте, тогда бить тем же самым назвавшего по тому же месту - можно и даже нужно (может он призадумается об источнике фантазий и кое-что поймёт).
Ну что сынку, помог тебе твой Раст?
там как-то вишенку на тортике все пропустили - отлично помог! Если альтернативную sudo сделать не-сетуидной, как у этих ребят получилось - она станет абсолютно безопасТной.Ну, правда, и работать не будет, но зато безопасно неработать!
То что не работает, небезопасным быть не может)
> там как-то вишенку на тортике все пропустили - отлично помог! Если альтернативную
> sudo сделать не-сетуидной, как у этих ребят получилось - она станет
> абсолютно безопасТной.
> Ну, правда, и работать не будет, но зато безопасно неработать!Тогда несовсем ясно, зачем она будет нужна.
"Интеллектуальный" онанизм какой-то (
Судо не нужно. Старогo su хватит всем! ;-)
Определенно, это лучший коммент по этой теме XD
И снова Rust не помог
Ленинград - ЗОЖ, припев...
Растоманы как всегда, напрудили полные штанишки коричневой растишки и требуют внимания.
Так и вводить - please apt-get ?
Пожалуйста, apt, ну пожалуйста install !!
Спасибо за новость!
> Так и вводить - please apt-get ?ДА, блжад! Это позиционируется как _вежливая_ замена sudo! И одна из главнейших фишек нового аналогов нетного чуда.
Типа - ну упроси меня сделать что-нибудь, на колени, кожанный мешок!
> Типа - ну упроси меня сделать что-нибудь, на колени, кожанный мешок!Кафедра русского языка.
Две доцентши, одна курит, вторая разгадывает кроссворд.
— Мария Ивановна, — "Полный крах всех надежд" — шесть букв, вторая "и"...
Курящая долго думает, потом:
— Ну, не может быть! в газете?
— Да.
— ******?!
— Подходит...
Входит завкафедрой, профессорша.
— Софья Марковна, вот вы доктор наук! "Полный крах всех надежд?, шесть букв, вторая "и"?
— ******! Однозначно!
— Ну не может же быть в российской газете — ******!
— Сейчас все может быть!
Входит аспирантка Машенька, юное невинное созданьице.
— Вот молодежь все знает! Машенька, полный крах всех надежд, шесть букв, вторая "и"! У нас только один вариант — ******!
Машенька краснеет до корней волос и шепчет:
— Фиаско
>[оверквотинг удален]
> — Софья Марковна, вот вы доктор наук! "Полный крах всех надежд?, шесть
> букв, вторая "и"?
> — ******! Однозначно!
> — Ну не может же быть в российской газете — ******!
> — Сейчас все может быть!
> Входит аспирантка Машенька, юное невинное созданьице.
> — Вот молодежь все знает! Машенька, полный крах всех надежд, шесть букв,
> вторая "и"! У нас только один вариант — ******!
> Машенька краснеет до корней волос и шепчет:
> — ФиаскоГодный анекдот! Хоть я его и слышал.
Слишком много в мире ИТ стало неженок и принцесс, понатащили херни и толерастии.
Great! This is what I need - так они пишут!
Статус пакетов - не только Ubuntu,ещё Kali,Parrot и Devuan 4.0
> Статус пакетовоно - в недотестинге дебиана. Естественно - и в основанных на нем копипастерских дистрибутивах автоматически.
уже
FreeBSD 13
FreeBSD aarch64 Official
please-2.7.txz Execute a command as root
FreeBSD amd64 Official
please-2.8.txz Execute a command as root
> уже
> FreeBSD 13
> FreeBSD aarch64 Official
> please-2.7.txz Execute a command as root
> FreeBSD amd64 Official
> please-2.8.txz Execute a command as rootну мало ли, какой мусор в порты понатащили. Напоминаю, штатно-то и sudo нет - в freebsd нормальная su, не кастрированная столманом в пользу бедных. Ей вполне можно и обойтись.
А порты - "для количества сгодится". Пока кому-то интересно это собирать, конечно.
Хорошо хоть так, должно же sudo где-то не быть.
ну не всегда хорошо, иногда надо просто свитчнуть пользователя не давая ему полных прав рута (вон есть у меня пресловутый жабикс-агент, иногда ему надо выполнить команду от юзера веб-сервера, ровно одну с ровно одним строго определенным параметром [ага, restart] - и как ты это через su сделаешь не храня паролей плейнтекстом?)Но да, такое надо на одном сервере из ста. Вот туда и поставим.
А что урезано в линуп.совом su?
> А что урезано в линуп.совом su?man su фря
> In particular, by default
> only users in the “wheel” group can switch to UID 0 (“root”).https://web.archive.org/web/20131210155635/http://www.gnu.or...
> However, GNU su does not check if the user is a member of the wheel group; see below.
> 23.6.1 Why GNU su does not support the ‘wheel’ group
> (This section is by Richard Stallman.)
> Sometimes a few of the users try to hold total power over all the rest....
> However, occasionally the rulers do tell someone. Under the usual su mechanism, once someone learns the root password who sympathizes with the ordinary users, he or she can tell the rest. The “wheel group” feature would make this impossible, and thus cement the power of the rulers.В общем, из-за каких-то фанати^W идеологических соображений (была) вырезана поддержка su -> только для группы wheel
Эмм... А ты можешь чутка раскрыть тему? Просто у меня в coreutils нет никакого su, и он в системе из пакета shadow-utils, и он умеет в wheel:
> CONFIGURATION
> The following configuration variables in /etc/login.defs change the
> behavior of this tool:
> [...]
> SU_WHEEL_ONLY (boolean)
> If yes, the user must be listed as a member of the first gid 0
> group in /etc/group (called root on most Linux systems) to be able
> to su to uid 0 accounts. If the group doesn't exist or is empty, no
> one will be able to su to uid 0.Ну, то есть, это конечно же всё враки, как и вся линуксовая документация, которую надо перепроверять по десять раз, прежде чем доверяться ей: реально использование wheel конфигурируется через pam. Но я не к тому.
Я к тому, что можно ли говорить, что тот абзац в info coreutils, за авторством Столлмана, хоть сколь-нибудь актуален сегодня для Linux'а? У меня su из shadow-utils, но я не вникал почему так, просто Gentoo так поставила. Может во всех линуксах стоят shadow-utils? А shadow-utils как-то соотносятся с coreutils, или совершенно самостоятельная разработка?
Вот смотрю я на новости и не понимаю.
На расте написаны за поселение годы
- дырявый NIH-аналог судо
- гуй для пинга, рисующий график (е-е-е, уровень 3 курса ИТ-путяги достигнут)
- нечто позорное как демка драйвера ядра линукса, вскрывшее косяки растовой экосистемы
- преальфа конвертера в формат вулкана шейдеров
- браузерный движок: жирный как ФФ, функциональный, как links
- очередная экспериментальная "ОС" <- раст мастерпис
- нормальный actix-web, разраба которого затравили за ансейф
- целый один кодировщик для видео
Зачем? Зачем такой срач, если язык сам такой?
Вообще-то ты забыл полнофункциональную (нет) безопастную (нет) замену флэша целиком выполняющуюся в контексте браузера.Если что - escopeta.swf хоть и имеет некрасивую дырку между текстурами (confirmed bug, afair), но все же уже стреляет не себе в оппу, а примерно куда целился.
Т.е. цель сохранить для человечества флэш-поделки почти уже достигнута...ну, до следующего nightly релиза языка или одной из миллиарда зависимостей от зависимостей которые все сломают.
Наверно, lightspark взлетит быстрее, чем это.
> Наверно, lightspark взлетит быстрее, чем это.он в гробу лежит уже десять лет, куда он взлетит-то? Из пушки в сторону запада им выстрелить только если?
Ну и да, на всяк случай напомню, что он практически бесполезен для владельцев _сайтов_ - потому что плагины запрещено.
А компилиться в вебасм (умея при этом в нем графику, а не хрен собачий) сишечка тоже не алле.
> Зачем? Зачем такой срач, если язык сам такой?Ну как зачем. Опеннет борется за всё хорошее и против всего плохого. Единственный доступный опеннету способ -- срач. Вот, собственно, и ответ на твой вопрос.
Сначала я относился к расту с подозрением, как и ко всем новым языкам ему пели дифирамбы. Обещал он многое, много выглядело сырым и отвратным и было непонятно что из этого правда. Потом относился с недоверием - всем известно насколько мозилла криворука и очевидно ей не потянуть свой язык (и оказался прав). Потом раст начали прям активно так проталкивать везде где можно и где нельзя, каждый день был инфоповод про очередную попытку переписать то что итак прекрасно работает, но на расте, при этом ничего нового кроме спорного ripgrep на расте я так и не увидел. Так что каждый инфоповод вызывал все больше злости из за агрессивного маркетинга. Потом раст передали в мелкософт и гугл и я окончательно убедился что мне точно с ним не по пути и встречал новости о нем с пренебрежением как рекламу Макдональдса и продавцов таблеток от всех болезней. Теперь каждая новость вызывает смех. Даже в тех областях на которые напирали маркетологи раста (стабильность, безопасность, скорость) он провалился, писать на расте как оказалось ничуть не проще (а то и сложнее) чем на си, никаким правильным практикам он не способствует, безопасности сам по себе не добавляет, то с чем заявлял справиться, справляется довольно условно (пресловутый unsafe) и реальной практике не помогает и в отличии от си для которого давно сложились практики и множество инструментов и все равно считается что нужно относится к коду как к бомбе, в расте +- то же самое (за исключением небольшого класса мелких проблем), но относятся к его коду как к высшему божеству которое умнее разработчика. Вот собственно и результат. Надеюсь раст похоронят как можно быстрее, а его наработки по теории типов не канут в лету и пригодятся в новом, адекватном, наследнике си (и это явно не но).
Мозилле не надо было льстить себе и передавать раст в сообщество. Ну что бывают неудачные эксперименты, на то они и эксперименты, но сколько можно делать хорошую мину при плохой игре? Закрыли бы его и дело с концом. Выглядит уже как сильно затянувшаяся шутка.
Навязывание - лучший способ отторжения
тебе с такой аналитикой прямой путь в дворники.
А тебе, растофанатику, путь в пхп
А если раст еще раз переписать на раст он станет безопаснее?
>А если раст еще раз переписать на раст он станет безопаснее?Да, Раст гарантирует безопастность. Тогда будет двойная безопасность.
тогда надо будет писатьunsafe unsafe
Нет, будет не двойная безопасность, а двойная гарантия безопасности ;) Впрочем ноль на что не умножай, толку больше не станет.
Так он же на нем и написан сейчас
Это как поделить на ноль - wait, oh shit!
Фрактаааал, привеееет
> Маттиас ... провёл аудит утилиты PleaseА следующую утилиту как назовут - "Я тя умоляю"? )
> следующую утилиту как назовутExcuse me dam
Глядя на навязчивость, то mi scusi
ВиТакиНеПоверите
Следующая - "Святой отец... я согрешил"
Вы не подскажите, где Фрактал? Где его йумор?
Открыл модный сорец на rust для просмотра в VSCode и теперь восстанавливает пароли?
Лол
Пытается вытереть то чем обгадился.
Нет, ни подскажим!Смешно же?
как же задолбали сишные дырени ... oh, wait
Кто все эти люди, кто заменяет стабильно работающие утилиты на аналоги на rust? Вот даже взять ripgrep какие у вас задачи, что обычный grep не справляется? Похоже на решение надуманных проблем.Написали бы что-то новое тогда уж.
Лол. Как видим, от программиста-идиота раст не спасает. Но программисты-идиоты в раст как раз и кинулись, так что доверия rust коду теперь мешьше чем сишному.Хотя на самом-то деле виноват тут в основном юниксовый API, такой же древний и убогий как C.
>такой же древний и убогий как C.Деннис Ритчи с облаков смотрит на тебя с осуждением. Ты не понимаешь, Сишка божественна.
Апи в С какрз ок, ты прст не пнмш.
Этож надо так обгадиться, пытаясь обгадить сразу два лагеря.
Мастерство тролля 80 лвл.
Похоже на ханипот для дураков и не естественный отбор.
А что сложного в этой программе? И почему их две - su и sudo?
Как я себе это представляю - есть программа, на ней suid-бит, она может форкнуться от другого пользователя если пароль подходит к хешу, например, или нет. Она и есть - способ авторизации и по хорошему и getty должен её вызыать. Но ведь оно не так работает и там системы авторизации есть. И наверное я сделал из библиотеки программу. И наверное так слишком просто.
Предлагать недопустимо? Но я спросил, внезапно.
> А что сложного в этой программе?Не обгадится в куче условий запуска и доступа.
> И почему их две - su и sudo?
Одна запускает полноценный сеанс, вторая запускает процесс (но может и шелл по sudo -i). Для su нужно знать пароль рута, для sudo - собственный и быть в группе sudoers.
И да, обе эти команды могут запускать процессы от имени любого пользователя (Substitute User), не обязательно root. Root получается, т.к. по умолчанию запускаемый UID = 0, что соответствует root-у.
Ну что ж, как только запахло жареным, наша локальная "звезда" как-то внезапно куда-то запропастилась, в то время как в других аналогичных новостях спешил оставить свое "очень ценное мнение" в числе первых. Что и следовало ожидать от лицемера.
> локальная "звезда"фрактально-ректальная "...да"
No, please noooo!!!
никогда такого не было и вот опять?!
Как вы яхту назовете, так она и поплывет (с) Врунгель Христофор Бонифатьевич
Дайте угодаю - куча unwrap()-ов?
if file.is_err() {
println!("Could not create {}", tmp_edit_file_path.to_str().unwrap());
std::process::exit(1);
}Дети, ошибки никогда не надо писать в stdout - только в stderr с помощью eprintln!
А ещё лучше в данном случае (с завершение программы) использовать panic!, без std::process::exitю
> Дети, ошибки никогда не надо писать в stdout - только в stderr с помощью eprintln!Почему?
> А ещё лучше в данном случае (с завершение программы) использовать panic!, без std::process::exit
Эмм... Почему это лучше? Чем это лучше?
Вот видишь, юный подаван, ты ещё совсем молод.
И горжусь этим. Старпёры пускай строем идут на пенсию.
Тупостью своей гордишься ты, мой юный падаван.
> Тупостью своей гордишься ты, мой юный падаван.И что с того?
Не программист, но допустим тебе выхлоп ошибок нужно перенаправить в файл в шелле.
Такой делаешь 2> errors.log, а файл оказывается пустой, ведь ошибки в stdout летят с обычной инфой. Не по стандартам как-то.
С panic! та же фигня, как бы сообщает что программа вылетела с ошибкой. Это можно обрабатывать опять же в шелле, например &&, если программа вылетела с ошибкой в нормальном случае следующаая команда не сработает в цепочке.
Короч, это не по стандартам и создаёт кучу проблем в системах юникс. Утилита на замену блин..
> Короч, это не по стандартам и создаёт кучу проблем в системах юникс.Нет таких стандартов. Есть довольно мутные невербальные соглашения. В частности их мутность выражается в том, что они не дают определения тому, что есть штатная ситуация, а что есть ошибка.
И при этом утилита типа на замену ломает работу в скриптах, ага... Ну как всегда от растаманов ничего нового.
> И при этом утилита типа на замену ломает работу в скриптах, ага...В каких скриптах? Приведи мне хоть один скрипт, корректная работа которого выстроена на сообщениях об ошибках от sudo. Не можешь? Балабол?
Ну я понимаю тебя, новым специалистам приходится подстраиваться под правила дедов и их времени.
Но это тянется с 80-х годов, представь какая это каша-малаша будет изменить всё это.
Да и всё по-здравому же. Трудно указать завершилась ли программа как следует или с ошибкой? Писать не в канал общего выхлопа, а в специальный канал выхлопа для ошибок?
> Трудно указать завершилась ли программа как следует
> или с ошибкой?Там указано: exit(1) написан.
200+ комментов на опеннете из-за патча какой-то растовой программы с впечатляющей версией 0.4. Rust не нужен, говорили они. Лол.
Да просто надоели свидетели раста в каждой теме других программ. Ладно бы хоть сами писали на нем, а то языком только.
Да какая разница почему? 200+ комментов о версии 0.4 говорят о том, что раст весьма популярен и делает всё правильно.
Скорее чтобы количество информировать новичков от перехода на раст. Иначе они тоже могут поверить в эту фигню.
> Скорее чтобы количество информировать новичков от перехода на раст. Иначе они тоже
> могут поверить в эту фигню.О, да, информационная война. Как там результаты? Сколько новичков удалось проинформировать от перехода на раст?
Точно. А нука мужики навались, напишем сейчас на правильном языке софта да с дырами то!
На опеннете скорее надоели антисвидители раста с максимальной неадекватной логикой.
Как раз представили Раста максимально адекватные люди, в отличие от.
Да ясен пень. Но это не только на опеннете. Есть просто те, кто еще не работают в нем, а уже агитируют и верят в него.
Ничего такой показатель качества и доверия к яп - не работать на нем в проде, но уже агитировать
Мало у каких продуктов так получается
Как ты определил максимальную адекватность полностью конченых людей агитирующих за раст?
Сложно не выглядеть адекватным, на фоне рядового опеннетовца, который сам не пишет кода, но активно топит против раста, чтобы другие "новички", не пишущие кода, не писали на расте. То есть надо специальных усилий прилагать, чтобы достичь того же уровня неадекватности.
Oh, please...
please Sim-Sim otkroysya
Hack me please!
Да что вы там все кипишитесь? У меня вот самое ценное лежит в моём же профиле. А то что защищено root-правами я из сети выкачаю заново хоть 100 раз. Ага, я админ локалхоста! Так что все ваши su do please мне... Лучше объясните кто придумал неприкрытым личный зад держать?
Для ньюфага главное исправить фатальный недостаток, ну а уязвимости и говнокод - смузихлёбы стерпят.
Толерантно названная софтина исполняет в толерантной форме, да и написана... а ну да, на самом правильно яп... ну теперь заживем!
> Например, упомянут...Ага, то есть проблема в общей системной дырявости, а не в конкретном коде на Расте.
Ясно понятно.
Ну и зачем вообще такой вброс постить?
Как это зачем? Нужно же как-то поднять настроение свидетелям божественной сишки после очередной уязвимости в ядре (eBPF) с продемонстрироваными эксплойтами по поднятию прав.Плюс этот случай добавится в копилку аргументов растосрача (как "утечки" памяти в ядре redox, "невозможность" сисколов, "невозможность" сделать двунаправленный список без unsafe и других способов показать свою некомпетентность в вопросе). Уверен что это вспомнят еще не раз в следующих темах.
А заем нужен раст?• Чтобы поднять настроение свидетелям раста.
• Плюс можно набросить аргументов в растосрачах.
• Все больше он не для чего не нужен
Не получилось, не сРАСТлось.)
Если появляется новость о уязвимости в софте на расте, можно смело утверждать "ихтамнет"
Ну шо пацаны может Assembler?
слишком опасно, в коньпиляторе могут быть ашыпки.
тока сразу в машкодах!
Пора опеннет экспертам сделать свой дистрибутив без растоподелок! А те программы которые перешли на раст, переписать Си!
"более безопасной альтернативы sudo" - а более безопасной альтернативой pwd когда мир порадуют?
А вообще и не удивляет, какого еще кода ожидать от расслабленных программистов, считающих что все за них машина сделает.
Безграмотность -- вот худший враг СССР. Это его же и сгубило. Куда уж там ржавому.
(* но я ржал аки конь, факт *)
Этот случай - хороший пример, демонстрирующий сильные стороны Rust. Заметьте, в найденных уязвимостях нет переполнений буфера, использования после освобождения и т. п. То есть, исключая львиную долю *технических* уязвимостей, Rust позволяет аудиторам лучше сосредоточиться на *логических* аспектах работы программы и найти там больше потенциальных проблем. Одназначно это идет в плюс качеству кода на Rust.
Смузихлебы-растомакаки, а другие не будут писать на ржавом ни за какие деньги, принципиально не способны найти какие либо уязвимости.
Однозначно это демонстрирует отсутствие качества кода на ржавом
Скорее это пример, демонстрирующий то, что отстранение программиста от программирования приводит к неспособности даже хелловорлд без ошибок написать.
Теперь надо дождаться фикса для уязвимостей патча и - вперёд, ура!
Доверять безопасность системы программистам, которые без памперсов в виде Rust не могут написать код из которого гигабайтами в секунду не вытекат субстракт их мыследеятельности? Ну-ну :)
Rust никогда не обещал избавить от алгоритмических багов (это невозможно в принципе), однако слетелась куча хейтеров, утверждающих, что обещал и не выполнил обещание. Это классический straw man argument. Сами обгадились, но делают вид, будто воняют остальные. А баги есть в любом софте, только если это C, то никого этим не удивишь, а тут повод поздлорадствовать, не включая мозг. Вся суть местных обиженных на мир экспертов: если что-то или кого-то обгадить, будешь в сравнении выглядеть лучше и ЧСВ будет меньше чесаться.
doas?