После шести месяцев разработки доступен релиз проекта Firejail 0.9.62, в рамках которого развивается система для изолированного выполнения графических, консольных и серверных приложений. Применение Firejail позволяет минимизировать риск компрометации основной системы при запуске не заслуживающих доверия или потенциально уязвимых программ. Программа написана на языке Си, распространяется под лицензией GPLv2 и может работать в любом дистрибутиве Linux с ядром старше 3.0. Готовые пакеты с Firejail подготовлены в форматах deb (Debian, Ubuntu) и rpm (CentOS, Fedora)...Подробнее: https://www.opennet.dev/opennews/art.shtml?num=52115
Вроде бы и ничего, но suid-ная программа напрягает как-то.
Bubblewrap тогда.
к нему уже нормальный туториал появился? Я честно пытался настроить сабж для этого вашего фаерфокса но ниасилил: терминальные приложения работают нормально, гуйня - нет, что и где подкручивать - нигде не написано, ломай голову самостоятельно
Bubbllewrap достаточно канительный в этом плане. При том by design. Поэтому с юзерской точки зрения сабж заметно проще в использовании.
Можно попробовать снять SUID и настроить полномочия с помощью CAPABILITIES.
Боюсь, что тут нужен CAP_SYS_ADMIN, что эквивалентно руту. Причём, если euid программа наверняка сбросит перед exec, то капу — вряд ли.
Во-первых, можно разрешить запуск firejail только определенными пользователями. Во-вторых, не ставить проприетарное что-попало, по крайней мере, без профиля, где suid-бинарник отфильтровывается белым списком.
> Вроде бы и ничего, но suid-ная программа напрягает как-то.Ну так для того что он делает повышенные права нужны. Если любой пользователь сможет в любой программе так же - в системе начнется вакханалия, где каждый пользователь по сути близок к руту.
> При желании, Firejail можно применять и для запуска контейнеров Docker, LXC и OpenVZ.При очень большом желании, пробовали.
Это как сразу два презeрватива натягивать — в том же докере изоляция через namespaces является core feature, а apparmor и seccomp подключаются через security-opt. В lxc в целом аналогично. Да даже в systemd для любого сервиса можно всё это в пару строчек юнит-файла настроить.Кроме десктопных приложений, о которых все эти серверные ребята как-то не подумали, других ниш применения firejail не видно.
Более того, если использовать Podman, вместо докера, то можно его исполозовать в rootless режиме, что будет секьюрнее докера и SUID'ного firejail.
Не будет. По той простой причине, что для настройки действительно эффективных механизмов изоляции нужны рутовые полномочия.Вообще, podman не является альтернативой docker/containerd, в отличие от cri-o, например. Это просто тество-отладочный инструмент для запуска на рабочем компе девопса.
Сильно отличается от jail в freebsd?
да, например - отсутствием линуксатора, хотя в iOS его тоже нет.
а вообще, BSD-jail в iOS и BSD лучше сравнивать с LXC и OpenVZ.
Идея запихивания в джейл линукса врядли сильно востребована. Как забавный курьёз да, но реально лучше в bhyve.
> Идея запихивания в джейл линукса врядли сильно востребована. Как забавный курьёз да,
> но реально лучше в bhyve.Но иногда имеет место быть. bhyve издержки все-таки повыше.
> Сильно отличается от jail в freebsd?Черт знает, но конкретно сабж удобнее всего для запихивания отдельных апликух в изолированные от основной системы "контейнеры". При том он неплохо работает в том числе и для десктопных штук, без лишней возни. Вероятно, благодаря многочисленным конфигам в дефолтной поставке, более или менее корректно прописывающие чего кому из типовых программ реально требуется (из сисколов и проч). А что, jail в фряхе умеет разрешать только нужные сисколы? Или пространства имен, допустим, сети переключать? Так что сетевая конфигурация у программы - вообще отдельная (firejail немного умеет создавать/настравать сетевые интерфейсы в контейнерах).
>> Сильно отличается от jail в freebsd?
> Черт знает, но конкретно сабж удобнее всего для запихивания отдельных апликух в
> изолированные от основной системы "контейнеры". При том он неплохо работает в
> том числе и для десктопных штук, без лишней возни. Вероятно, благодаря
> многочисленным конфигам в дефолтной поставке, более или менее корректно прописывающие
> чего кому из типовых программ реально требуется (из сисколов и проч).
> А что, jail в фряхе умеет разрешать только нужные сисколы? Или
> пространства имен, допустим, сети переключать? Так что сетевая конфигурация у программы
> - вообще отдельная (firejail немного умеет создавать/настравать сетевые интерфейсы в контейнерах).SYSCALLS в пользовательских приложениях это дрянной стиль программирования который и пополз из стана Linux, но хвала более квалифицированным программистам иных POSIX ОС - за пределами Linux практически не живет. Даже Андроид такой стиль не поддерживает маскируя системные вызовы библиотекой wrapperом.
Ага, то есть ваши приложения не делают open(), read(), write(), malloc(), free()? Тогда вообще что они делают, если не секрет?Ах да, ничего, вы же не пишете приложения. Только рассуждаете о "дрянном стиле".
> Ага, то есть ваши приложения не делают open(), read(), write(), malloc(), free()?
> Тогда вообще что они делают, если не секрет?
> Ах да, ничего, вы же не пишете приложения. Только рассуждаете о "дрянном
> стиле".Ты че иди%от? Каким образом эти операции относяться к SYSCAL? open,read,write это врапперы, posix абстракция для ioctl - ИМЕННО КОТОРЫЙ уже работает с ядром и является SYSCALL.
malloc, free это индентичные врапперы для операций выделения памяти, системный вызов которых сильно меняется от системы к системе.Госпади, мое первое сообщение в этой теме подтверждает что многие "программисты" линукс оиды вообще тупо не понимают что делают.
Зато пишут приложения, видимо на питоне или php.
ПыСы если претендуешь на звание программиста - то хоть изучай о чем говоришь. Тебе сюда - https://www.opennet.dev/docs/RUS/lkmpg/node18.html
> Каким образом эти операции относяться к SYSCAL? open,read,write это врапперы, posix абстракция для ioctl - ИМЕННО КОТОРЫЙ уже работает с ядром и является SYSCALL.Взоржал. Ну и каша у вас в голове! Сразу видно настоящего компьютерного эксперта.
> ПыСы если претендуешь на звание программиста - то хоть изучай о чем говоришь.
Ну, так как вы не претендуете, то вот по этой сслыке http://man7.org/linux/man-pages/man2/syscalls.2.html ни в коем случае не ходите. Она для тех, кого случайно занесёт в это обсуждение, на случай, если ваша глупость для них будет не очевидна.
>> Каким образом эти операции относяться к SYSCAL? open,read,write это врапперы, posix абстракция для ioctl - ИМЕННО КОТОРЫЙ уже работает с ядром и является SYSCALL.
> Взоржал. Ну и каша у вас в голове! Сразу видно настоящего компьютерного
> эксперта.
>> ПыСы если претендуешь на звание программиста - то хоть изучай о чем говоришь.
> Ну, так как вы не претендуете, то вот по этой сслыке http://man7.org/linux/man-pages/man2/syscalls.2.html
> ни в коем случае не ходите. Она для тех, кого случайно
> занесёт в это обсуждение, на случай, если ваша глупость для них
> будет не очевидна.Документация по Linux будет последней на что я буду обращать внимание.
> Документация по Linux будет последней на что я буду обращать внимание.Естественно, вы же не претендуете на звание программиста.
>> Документация по Linux будет последней на что я буду обращать внимание.
> Естественно, вы же не претендуете на звание программиста.Конечно, и первым делом я посмотрю исходные тексты той-же например read. Внезапно да?
Например
https://code.woboq.org/userspace/glibc/sysdeps/unix/sysv/lin...И сразу же там вижу wrapper. Ну я думаю разберешься вокруг чего, надеюсь знаешь что такое macros и реальный ASM вызов syscall.
Хотя откуда? На Go видать программируешь или еще каком-нить новомодном трэше.
> надеюсь знаешь что такое macros и реальный ASM вызов syscall.Ну я знаю. И чего? Сишники, для начала, из сей сисколы дергают. На совсем уж гольном асме это оформлять - можно, конечно, но зачем? Это вообще совсем не портабельно. Тогда как вызваный из си сискол open работает одинаково и на ARM, и на MIPS, и на PowerPC, и даже на RISC-V каком-нибудь.
> SYSCALLS в пользовательских приложениях это дрянной стиль программирования который и пополз из стана LinuxА я то думал из стана стандарта POSIX, под который Linux и мимикрирует с точки зрения софта.
> Даже Андроид такой стиль не поддерживает маскируя системные вызовы библиотекой wrapperом.
Так в Linux нормальные люди тоже обычно враппер вызывают. Тем не менее враппер сискола read тоже называется read() и предоставляется реализацией libc.
Ну а пойнт сабжа в том что если мы уверены что программа вообще никогда не должна записывать никакие файлы, мы рубим ей write() - и он завалится и через враппер, и напрямую, и как там еще. Программа просто не сможет записывать файлы. Довольно неудобный сюрприз для атакующих, которые сумеют нае...ть прогу, не так ли? :)
SYSCALL, POSIX, IOCTL — какая разница? Главное, сказать, что Линукс — это плохо. Быть экспертом в компьютерах для этого вообще не надо.
>[оверквотинг удален]
> А я то думал из стана стандарта POSIX, под который Linux и
> мимикрирует с точки зрения софта.
>> Даже Андроид такой стиль не поддерживает маскируя системные вызовы библиотекой wrapperом.
> Так в Linux нормальные люди тоже обычно враппер вызывают. Тем не менее
> враппер сискола read тоже называется read() и предоставляется реализацией libc.
> Ну а пойнт сабжа в том что если мы уверены что программа
> вообще никогда не должна записывать никакие файлы, мы рубим ей write()
> - и он завалится и через враппер, и напрямую, и как
> там еще. Программа просто не сможет записывать файлы. Довольно неудобный сюрприз
> для атакующих, которые сумеют нае...ть прогу, не так ли? :)Posix враппер read может быть оперативно подменен другой реализацией, виртуальной в случае присутствися ограничений и это возможно так как несет дескриптор, в отличие от прямого доступа read который несет адрес устройства.
> Posix враппер read может быть оперативно подменен другой реализацией, виртуальной в случае присутствися ограниченийПодменять враппер - прерогатива троянцев/руткитов да может IDS. Ну еще для тестирования реакции программ на нестандартные ситуации и прочих лулзов. А так это что, достаточно сделать сискол - и я уже вне песочницы? Так это не песочница а джамшутинг какой-то?!
> в отличие от прямого доступа read который несет адрес устройства.
Какой еще "адрес устройства"? Что за бред?
>[оверквотинг удален]
> А я то думал из стана стандарта POSIX, под который Linux и
> мимикрирует с точки зрения софта.
>> Даже Андроид такой стиль не поддерживает маскируя системные вызовы библиотекой wrapperом.
> Так в Linux нормальные люди тоже обычно враппер вызывают. Тем не менее
> враппер сискола read тоже называется read() и предоставляется реализацией libc.
> Ну а пойнт сабжа в том что если мы уверены что программа
> вообще никогда не должна записывать никакие файлы, мы рубим ей write()
> - и он завалится и через враппер, и напрямую, и как
> там еще. Программа просто не сможет записывать файлы. Довольно неудобный сюрприз
> для атакующих, которые сумеют нае...ть прогу, не так ли? :)Да как раз наоборот. Именно из-за этой паршивой тенденции - корявый софт под Линь, мимикрирующий как ты говоришь под POSIX, собирается только на Лине, и не собирается на xBSD и других POSIX системах. И приходиться тратить время чтобы привести это "га:но" в порядок. Хорошо если кто-то уже пропатчил, а то еще и в дер&мово писанные мануалы по Linux надо лезть.
> Да как раз наоборот.Пруф?
> корявый софт под Линь, мимикрирующий как ты говоришь под POSIX, собирается только на Лине
Что там под чем собирается - вообще второй вопрос. Возможно, разработчики просто никогда не пробовали собирать свой софт под xBSD и прочих posix системах. Потому что их хрен найдешь и разработчикам от них ничего не нужно, например? Есть еще маки, но они сильно кастомные, у них там какой-то io-framework или как там его. О том что это такое - только макинтошные разработчики и знают, потому что в других ОС этого нет.
> Хорошо если кто-то уже пропатчил, а то еще и в дер&мово писанные мануалы по Linux надо лезть.
Ну так скиньтесь и проплатите команде техписов написание вам мануалов по вашему вкусу.
Раньше запускал в нем фф, но часто приходилось какие-то правила дописывать, т к что-то не работало, особенно после обновления фф.
Нужно, пользуюсь для сетевых приложух и всякой проприетари
О, почти то, чего спрашивал. "Сетевые приложухи" это что?
Приложения лезущие в сеть, очевидно. Отпилить их в отдельный контейнер, если не виртуалку - отличная идея.
А оно реально надо? Или это для проприетарщины? Вопросы, вопросы..
Как Вы предполагаете, зачем оно> для проприетарщины?
А с недоверенным драйвером ты чо будешь делать? ;)
C недоверенным телефоном с проприетарными чипами без свободных дров вообще, залоченным бутлодером, кирпичащим телефон при прошивке прошивки с недоверенной подписью, и с критическими уязвимостями в проприетарных прошивках чипов что делать будешь? Вы уже проиграли. Сопротивление бесполезно, ведь за взлом, реверсинг и написание свободных прошивок программерам никто не заплатит, и даже если заплатит, то пока они допилят, устройства на помойке уже будут, ибо запланированный выход из строя. Дешевле будет купить самсунг с потрохами и заставить его делать все прошивки и драйвера изначально открытыми. Но вам никто это не позволит сделать, даже если бы у вас были на это деньги. Вам придётся либо юзать проприетарь, либо не юзать ничего.
> C недоверенным телефоном с проприетарными чипами без свободных дров вообще, залоченным бутлодером, кирпичащим телефон при прошивке прошивки с недоверенной подписью, и с критическими уязвимостями в проприетарных прошивках чипов что делать будешь?Не буду доверять ему важных данных. Если пойду грабить банк — оставлю телефон дома.
А моя бабушка обманывает любой DRM. Просто наводит фотик на экран - и DRM пролетает.
То и другое. Первый пример - собственно файрфокс, для изоляции которого эту софтину изначаль и сделали. Второй классический пример - скайп в него засунуть
> скайпВоу-воу, полехче! Сам же понимаешь, в чем тут лажа.
> файрфокс
Режешь жс первым делом.. ах нет? тогда тебя будут иметь.
Firefox в виртуалке
Со скайпом - в чём лажа? Если в том, что скайповладелец (сейчас это Майкрософт, но скайп начали стараться огородить горпздо раньше) может получить твои звонки/переписку - то мимо, это данные, которые ты явным образом скормил. А идея - в трм, чтобы оно не лезло к остальному.С файрфоксом - конкретно я жс режу, но в принципе дополнительная песочница вполне неплохо защищает от возможных проблем. Особенно если за ней - линукс, да ещё не убунта, а какая-нибудь гента или другая экзотика.
В чем лажа? Ты же помнишь (наверно, если возраст позволяет, уж извини) что из себя представлял скайп на старте, до того, как был куплен-перекуплен - ну а чо он представляет из себя ща сам сказал.Насчет ФФ - кокая-то перестраховка, однако. Это ж какая должна быть дырень, чтобы переживать за компрометацию локальной фс из-за браузера! Или речь про что-то другое?
Ну помню, лез везде где мог, поэтому и огораживали. Возраст позволяет :-) И что?С файрфоксом - самые обычные дыры, их таких пара сотен точно была.
> твои звонки/переписку - то мимо, это данные, которые ты явным образом скормил.Ты ему доступ к камере и микрофону скормил - и какие гарантии что он ими пользуется только во время звонков? Теоретически конечно можно оттрассировать и запалить, а практически - проще избавиться от этой каки. Хомяки его уже посносили все-равно :)
Баги бывают и в открытом софте. В том числе и проблемы безопасности. И будет очень кстати если например браузер из всей файловой системы может аж в свои Downloads ходить. А остальное для него - совершенно пустая система, где брать нечего. Очень кстати если кто-то вдруг сможет убедить эту сложнятину попытаться сделать что-то не то. А тут ему от ворот поворот - бац.
Если у меня selinux в enforcing, мне не нужно такое?
Вкратце: нужно/ненужно?
Да.
Программа, имеющая suid — потенциальная дыра.
С другой стороны, он в основном действует при запуске программы - а потом его прошибить ... можно в основном теоретически. А вот программа - заизолирована и если прошибут ее, то урон может быть минимизирован.
https://www.opennet.dev/opennews/art.shtml?num=45824
Если уж мы об этом, то между нами, есть пара нюансов:
1) *nix вообще и стандарты posix в частности вообще не создавались в допущении активной агрессии со стороны пользователей - на момент появления основ этого самого реалии были другими.
2) Это верно и для реализации пространств имен и всего такого. Чтобы это было правильно, надо было вколотить такое требование еще на уровне прикидок архитектуры ядра! Но хорошая мысля всем приходит опосля. И в реально существующих и используемых ядрах это было прикручено к уже существующим конструкциям на изоленту и спички. Что конечно же добавило багов на стыках технологий.Однако постепенно спички и изолента заменится на что-то более потребное, глюки отловят и странные взаимодействия - пролечат. А таки без повышенных привилегий не удастся нормально сконфигурить новое окружение. Потому что если вдруг удастся - так, стоп, это что, все бесправные пользователи смогут систему переконфигурять на уроане рута? Так это ж еще большая дыра.
policycoreutils-sandbox
https://github.com/SELinuxProject/selinux
> policycoreutils-sandbox
> https://github.com/SELinuxProject/selinuxНе, спасибо, это счастье вы как-нибудь себе оставьте. Мне этого:
Build dependencies on Fedora:
yum install audit-libs-devel bison bzip2-devel dbus-devel dbus-glib-devel flex flex-devel flex-static glib2-devel libcap-devel libcap-ng-devel pam-devel pcre-devel python3-devel python3-setools swig xmlto redhat-rpm-config
...достаточно чтобы не подходить к этому калу на пушечный выстрел! Не говоря о том что политики SELinux - та еще камасутра. Если в сабже что-то не сработает - я это починю. Если же лыжи не поедут с SELinux - упс. Всерьез в этом копаться можно только будучи клерком в NSA, которому за это оклад платят.
Такая точка зрения в корне не верна, SELinux намного проще и удобнее в использовании, чем это кажется на первый взгляд.
> Такая точка зрения в корне не верна, SELinux намного проще и удобнее
> в использовании, чем это кажется на первый взгляд.Во первых, я просто не буду использовать УГ где для просто операций с политиками надо какие-то пихоны, XML и прочий мегаэнтерпрайзный крап.
Во вторых, пофтыкав на эти политики, а также аппармор я пришел к выводу: контейнеры и виртуалки достигают такой же или даже более прочный результат с МНОГОКРАТНО МЕНЬШЕЙ ДОЛБОТНЕЙ.
У контейнеров и vm есть большой плюс: они не рушат секурити-модель *никс. Они просто создают новое окружение, где будет то что я хочу вывесить программе, и не бита больше. А эта штука - некий оверлэй. Оценить эффективный набор доступов может быть довольно трудно и не наглядно. У конкретно NSA регламенты есть, так что у них выбора не было. Но я - не NSA, поэтому могу положить на их регламенты мандатного контроля.
Мы говорим про Firejail, а не контейнеры.
> Мы говорим про Firejail, а не контейнеры.Firejail наполовину об контейнерах и есть. Он умеет собирать например отдельную сеть в отдельном namespace, менять область видимости ФС и все такое. Довольно похоже по смыслу. Ну и он как-то не требует пихонов, XML и проч. Мне нравятся простые приятные тулсы без оверинженерии ради хз чего.
А с его помощью можно запрещать или разрешать привязку процесса к определённым портам?
> А с его помощью можно запрещать или разрешать привязку процесса к определённым портам?Мне проще оперировать иным уровнем абстракций: отправить процесс в собственный неймспейс и там пусть хоть обпривязывается к любым портам, если хочет. Это не означает что он сможет создать хосту какие-то проблемы или получить доступ хоть куда-то. Это отдельная сеточка с отдельной конфигурацией и портами. Доступ наружу может быть, может не быть, может быть не такой как у хоста, ... по вкусу в общем.
Все гениальное просто, и это не про линь.
Какая разница в любой другой системе будет такая же виртуализация вызовов с предварительной проверко разрешений. Другое дело, что тут уже готово, а для того же виндоса вроде как нужно покупать какие-то цитриксы и т/д/
про вантуз?
Да, там все просто: куяк-куяк и готово, пипл стерпит. Ведь за что ты заплатил, за то и будешь держатся.У маководов еще хлеще - в тридорога переплатил за ширпотреб с шильдиком и стал идейным последователем автоматически. Нахвалиться потом не могут. Прикольно наблюдать, хоть диссертацию пиши. ))
Психология, сэр!
Вы полагаете, что в их поведении есть что-то неправильное?
По-моему, с этим всё просто. Человек платит за статус, и получает его. В нагрузку к статусу может идти какая-то унылая железка, но это глубоко вторично. Даже если эта железка вообще будет нерабочей, или сгорит при первом включении, статуса это не отменит.
> Вы полагаете, что в их поведении есть что-то неправильное?
> По-моему, с этим всё просто. Человек платит за статус, и получает его.
> В нагрузку к статусу может идти какая-то унылая железка, но это
> глубоко вторично. Даже если эта железка вообще будет нерабочей, или сгорит
> при первом включении, статуса это не отменит.Про какой статус речь идет? Народ на айфонах чтоли помешался?
Если речь о компьютерах - то ноуты БЫЛИ у Apple вполне конкурентноспособные, операционка позволяет не задумываться о завтрашнем обновлении системы и работать на нем абсолютно не теряя времени. А доп. фишки типа POSIX совместимость совместно с "бронебойностью" ОСи так конкурентов нет вообще.
> Все гениальное просто, и это не про линь.Сабж довольно прост в использовании. Вот прямо под линем. Более того - аналогов ему даже как-то и не придумывается под другими системами.
Ну точно уж лет 20 как под FreeBSD не придумывается?
Неудобная штука. Изоляция файловой системы сделана на основе чёрных списков, что на мой взгляд изначально неправильно (непонятно, как можно было так извратить идею filesystem namespaces, ведь по умолчанию в линуксе создаётся полноценный отдельный namespcae, а firejail уже пытается объединить всё обратно для создания иллюзии запуска в пользовательском /home).А линуксовый seccomp так вообще не пригоден к использованию в том виде, в котором они его пытаются готовить — вся эта канитель с готовыми профилями не подходит для основной целевой аудитории, — варезных прог и сетевого софта, обновляющегося чаще чем раз в год.
> Неудобная штука.Наоборот - для большинства типовых прог есть готовые профайлы, так что вообще ничего делать не требуется.
> Изоляция файловой системы сделана на основе чёрных списков
Там и белые вроде бы можно изобразить.
> пытается объединить всё обратно для создания иллюзии запуска в пользовательском /home
Это позволяет пользователю запустить типовые апликухи с повышенной изоляцией не ломая их работу. Если программе зарезать доступ к ее данным - она, внезапно, сломается. И врядли кто захочет например браузер перенастраивать с ноля.
> варезных прог и сетевого софта, обновляющегося чаще чем раз в год.
Я его использую для изоляции обычных программ, так что мне нормалек.
а где смые главные - logind, gdm3, Xwayland, ... ?
> logindИ так урезан по самые гланды:
DeviceAllow=char-/dev/console rw
DeviceAllow=char-drm rw
DeviceAllow=char-input rw
DeviceAllow=char-tty rw
DeviceAllow=char-vcs rw
FileDescriptorStoreMax=512
IPAddressDeny=any
LockPersonality=yes
MemoryDenyWriteExecute=yes
NoNewPrivileges=yes
PrivateTmp=yes
ProtectControlGroups=yes
ProtectHome=yes
ProtectHostname=yes
ProtectKernelModules=yes
ProtectKernelLogs=yes
ProtectSystem=strict
ReadWritePaths=/run
RestrictAddressFamilies=AF_UNIX AF_NETLINK
RestrictNamespaces=yes
RestrictRealtime=yes
RestrictSUIDSGID=yes
RuntimeDirectory=systemd/sessions systemd/seats systemd/users systemd/inhibit systemd/shutdown
RuntimeDirectoryPreserve=yes
SystemCallArchitectures=native
SystemCallErrorNumber=EPERM
SystemCallFilter=@system-serviceДа, философия *nix запрещает так ограничивать свободу программ, но Лёньке пофиг.
В результате, не будучи рутом, дотянуться до logind практически нереально, а даже если его удастся каким-то образом ломануть, то максимум в vt можно будет вывести какую-нибудь похабщину, а с сетью, диском и системой — увы, ничего не сделать.
У Поттеринга вообще можно поучиться всякие стремные сервисы правильно изолировать. Как угодно но куски systemd зарезаны по правам очень неплохо.
Это противоречит юниксовой философии. Инит не должен заниматься ограничением прав сервисов, для этого должны быть отдельные suid-бинарники, которые нужно вручную вписывать в init-скрипты нужных программ.
И я должен в каждый контейнер класть SUID бинарники при формировании контейнера и следить за их обновлениями, чтоб не дай боже дыры не проскочили? Ну или как я буду вызывать suid бинарник из контейнера весь пойнт которого - обуть программу на доступ в систему?
Какие контейнеры, родной? В юниксах 30 лет назад не было никаких контейнеров. Софт надо ставить только через ./configure && make && make install.
Какой софт, родной? 100 лет назад никакого софта не было. Пользоваться надо конвейерной лентой.
> Какой софт, родной? 100 лет назад никакого софта не было. Пользоваться надо
> конвейерной лентой.Какой конвейер, родной? 1000 лет назад не было двигателей, так что айда кирпичи к пирамиде таскать.
Можно ли через firejail наоборот, разрешить firefox-у доступ к ~/.mozilla, к которому изначально не будет доступа у обычного пользователя?