LINUX.ORG.RU
ФорумTalks

НЕ ЖДАЛИ АХАХАХА Леннарт Поттеринг СНОВА ПЕРЕДАЁТ ПРИВЕТ

 , ,


0

5

Леннарт Поттеринг представил утилиту run0, позволяющую выполнять процессы под идентификаторами других пользователей. Новая утилита позиционируется как более безопасная замена программы sudo, реализованная в форме надстройки над командой systemd-run и позволяющая избавиться от применения исполняемого файла с флагом SUID. Утилита run0 включена в состав выпуска systemd 256, который находится на стадии кандидата в релизы.

И как вишенка на торте:

Для авторизации и определения возможностей пользователя в run0 используется Polkit. Классический язык описания правил (/etc/sudoers), применяемый в sudo, не поддерживается.

https://www.opennet.ru/opennews/art.shtml?num=61088

★★★★★

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

Ответ на: комментарий от intelfx

А что «остальное»-то? Везде и так был sudo, пока не начали изобретать костыли типа doas.

wandrien ★★
()

Раз уж это тот же systemd-run, который и так давно есть, то не вижу повода испытывать острую боль.

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

Аж губа зачесалась с последнего предложения… И рука правая.

Dorif ★★
()

Не удивлюсь, если это взлетит.
В энтерпрайзе безопасники имеют за любой лишний SUID-бинарник. А здесь нет SUID-бита - нет вопросов.

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

Чтобы не изобретать очередной декларативный недоязычок, который invariably начнёт обрастать костылями и псевдоимперативными конструкциями до состояния полной нечитабельности (примеров полно)?

Это ты сейчас так мощно unit-файлы обосрал? Кросивое.

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

То, что процесс порождается по принципу запуска сервиса – от PID 1 – означает, что контекст для мандатки будет потерян. Я правильно понимаю?

Развей мысль, пожалуйста.
Сейчас же тоже сервисы стартуют из-под PID 1, и это не мешает в политиках SELinux прописывать правила, что при запуске /usr/sbin/nginx из-под PID 1 контекст поменяется с init_t на nginx_t.

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

тут в принципе не будет лишнего бинарника, потому что этот run0 - симлинк к уже существующему systemd-run. На системах с сустемд - должно взлететь, да.

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

ipc с процессом, запущенным от рута.

Безопасники и слов-то таких не знают. У них есть инструменты, которые сканируют систему и орут на любой файл с SUID-битом, вот это они понимают. Нет файла с SUID-битом - меньше вектор атаки.

bigbit ★★★★★
()

Леннарт Поттеринг представил утилиту

Нас сгубила жадность. Если бы в своё время скинулись на киллера, этого бы не произошло. А ведь поступало предложение...

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

Таки да. Но вот решили в каком-то дистре хоба и сменить по умолчанию sudo на run0. Сколько человек продолбается, пока поймёт, что делать, если пропустил анонс сего нововведения?

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

Да, поставить один пакет это дохера как сложно для админов с 40-летним стажем, каких тут на форуме из себя корчат)

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

Проблема очевидна: всё слишком скучно и просто.

CrX ★★★
()

А вообще, всё правильно он делает. Его стараниями в линуксе хотя-бы подобие базовой системы возникло, вместо груды лапши.

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

Чтобы не изобретать очередной декларативный недоязычок, который invariably начнёт обрастать костылями и псевдоимперативными конструкциями до состояния полной нечитабельности (примеров полно)?

Я вот очень рад, что они это сделали.

Мне кажется, ты любую дичь лялексоделателей защищать готов. Даже такое безумие, как запуск жирного SpiderMonkey под рутом, в котором дыр находили больше чем в борделе. Тащемта например, каждый раз, когда я читаю про дыры в PolKit, дико ржу, потому что они там зачастую просто безумны и вызваны вот этим самым оверинженегрингом.

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

Какого простите в опу окна?

Терминального эмулятора, в котором запущена оболочка. Ваш кэп.

А при чем тут «терминальный эмулятор» ?

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

Божечки, эникеи пытаются понять JavaScript, на это больно смотреть.

На JS вообще всегда больно смотреть. И бородатые админы вряд ли в нем разбираются лучше эникеев, так что вопрос «на кой ляд он нужен в качестве языка описания конфигурации?» все еще актуален.

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

Адепты этой срани господней объясните мне тупому, какого хрена функция не обрабатывает subject переданный ей? Нахрена он передаётся?

На самом такая практика имеет место быть. Пишется некая функция с N параметрами, но M из них в текущей версии ещё не обрабатываются или не полностью обрабатываются ( в документации пишут что-то типа: параметр paramName всегда должен иметь значение 7 )

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

Давайте еще winapi вспомним, где у функций по 7 параметров, 3й должен иметь значение NULL, 4,5,6 - 0, а 7й - пустая строка.

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

Но вот решили в каком-то дистре хоба и сменить по умолчанию sudo на run0. Сколько человек продолбается, пока поймёт, что делать, если пропустил анонс сего нововведения?

По идее sudo будет доступно к установке и продолжать работать.

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

А чтобы поставить sudo нужны права суперпользователя…

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

Даже такое безумие, как запуск жирного SpiderMonkey под рутом

А давай ты сначала хоть немного осведомишься об объекте разговора, а потом уже будешь что-то трындеть? :-)

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

СистемД уже перевалил Линукс, ему уже ещё надо.

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

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

Не, я обосрал sudoers и PAM.

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

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

И я о том же. Одно дело - небольшая специализированная утилита, пусть и с SUID, а другое дело - охапка костылей, которая преподносится конечно же под «вкусным» соусом заботы о безопасности. Пресловутая площадь атаки уж точно больше в run0.

Это напоминает тот фееричный набор костылей, который предлагался одним редхатовцем https://www.opennet.ru/opennews/art.shtml?num=60317

Интересно, что им всё не имётся…

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

При чем заметь.

Вот допустим ты опечатался, и в правиле вместо "org.hernya.some-shit" написал "org.hernya.some-siht". И твоё правило превратилось в тыкву.

А чтобы автоматизированными средствами проверить конфиг на корректность, потребуется парсить и выполнять семантический анализ тюринг-полного ЯП с динамической типизацией.

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

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

как запуск жирного SpiderMonkey под рутом

Окстись, его уже выкинули

Выкинули его лишь недавно, до этого SpiderMonkey лет 10 в каждом лялексе крутился почти под рутом.

Ну и я не уверен, что в duktape дыр сильно меньше.

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

Я своё смузи могу хотя бы обосновать, а вот ты ни на что, кроме кидания содержимым своей черепной коробки, по-видимому не способен.

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

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

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

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

Давай обоснуй выпил императивных костылей на bash в одном месте и запил императивных костылей на JS в другом.

В целом похоже на круговорот котов в комнате после обосратушек от громкого звука.

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

Я своё смузи могу хотя бы обосновать

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

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

Надо было, но хорошо, что эту ошибку исправили

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

Кроме того, я не вижу особой разницы между PAM, который может грузить тьюринг-полные модули и polkit, который работает с тьюринг-полными правилами.

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

Выкинули его лишь недавно

Недавно – это года 4 назад. Претензия больше не валидна

Его добавили в качестве альтернативы только пару лет назад. Вот PR: https://gitlab.freedesktop.org/polkit/polkit/-/merge_requests/97, смержили в январе 2022 в качестве опции.

Сборка с SpiderMonkey всё ещё поддерживается: https://github.com/polkit-org/polkit/blob/main/meson_options.txt#L21

Некоторые дистры до сих пор тащат это, потому что duktape умеет таки не весь JS.

Но претензия «ВЫ ОХРЕНЕЛИ JS ПО САМЫЕ ГЛАНДЫ В СИСТЕМУ ПИХАТЬ» ещё как валидна. Это говно ничем не лучше портянок на баше.

Кроме того, я не вижу особой разницы между PAM, который может грузить тьюринг-полные модули и polkit, который работает с тьюринг-полными правилами.

Дык PAM тоже та ещё говнина. Но модули PAM хотя бы проще анализировать. Потому что, несмотря на всю мою нелюбовь к сишечке, JS является куда большим раковником. Плюс, PAM выполняет совсем другую роль. Например, как ты добавишь LDAP без тьюринг-полного быдлоязычка-то?

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

Я своё смузи могу хотя бы обосновать

Пускание пузырей в лужу теперь называется «обосновыванием»? Ох уж этот новояз...

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

Но претензия «ВЫ ОХРЕНЕЛИ JS ПО САМЫЕ ГЛАНДЫ В СИСТЕМУ ПИХАТЬ» ещё как валидна

Так чем это хуже PAM?

Это говно ничем не лучше портянок на баше

Лучше.

PAM выполняет совсем другую роль. Например, как ты добавишь LDAP без тьюринг-полного быдлоязычка-то?

А как ты раздашь нужные привилегии? В обоих случаях без тьюринг-полноты трудно

hateWin ★☆
()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)