LINUX.ORG.RU

В Fedora появилась поддержка Snap

 , , , ,


1

2

Для Fedora 24, 25 и 26 теперь доступны snap-пакеты. Для того чтобы получить возможность ими воспользоваться, достаточно выполнить команду sudo dnf install snapd.

Изначально формат пакетов был разработан Canonical в рамках проекта Ubuntu Phone.

Snap-пакеты позволяют устанавливать приложения на любые дистрибутивы GNU/Linux вместе со всеми зависимостями, сам по себе пакет является zip-архивом.

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

Такой вопрос - оно чем-то кардинально отличается от flatpak'а ? Не получился-ли как с дистрибутивами - авторам приходилось поддерживать разные сборки под разные дистры, а теперь придётся поддерживать разные типы пакетов ?

Далее, они там в описании snap'а пишут про «секурность», а как там осуществляется проброс X11, пульсы, dbus и прочего ? Оно ведь всё дыряво и несекурно, я бы сказал - просто эталонное шерето (сам сейчас пишу враппер поверх минималистичного bwrap, чтобы пробрасывать десктопные приложения, так что знаю о чём говорю).

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

Не получился-ли как с дистрибутивами

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

Далее, они там в описании snap'а пишут про «секурность», а как там осуществляется проброс X11, пульсы, dbus и прочего ? Оно ведь всё дыряво и несекурно, я бы сказал - просто эталонное шерето (сам сейчас пишу враппер поверх минималистичного bwrap, чтобы пробрасывать десктопные приложения, так что знаю о чём говорю).

Вот тут я вообще ничего не понял. Секьюрность чего? Архива?

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

Чем пакет со всеми зависимостями лучше пакета, в котором бинарники слинкованы статически?

Например тем что не всё можно слинковать статически. А также простотой деплоя, я думаю.

e7z0x1 ★★★ ()

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

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

Вот тут я вообще ничего не понял. Секьюрность чего? Архива?

Поясню, что я имею ввиду. У вас на вашей хостовой системе крутится X11, dbus, возможно - пульса. Все эти snap'ы, flatpak'и и прочие - предоставляют из себя контейнеры которые работают образом похожим на LXC. То есть, ПО из пакета оборачивается в неймспейсы - как минимум - mount и pid namespace, а по хорошему ещё и ipc namespace и network namespace. Приложения в контейнере, не могут видеть и взаимодействовать с вашими хостовыми приложениями и сервисами. И если «опакеченное» приложение является каким-нибудь сетевым сервисом типа MySQL - то это в общем, хорошо и безопасно.

Между тем, гуёвым приложениям, для нормальной работы и взаимодействия друг с другом и хостом - нужен доступ к некоторым сервисам запущенным на хосте. Это касается X11, пульсы, dbus'а и прочего...

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

Мой вопрос был именно про это. Как решена проблема безопасности взаимодействия «опакеченных» приложений с сервисами хоста ? (а в описании snap'а написано что эта штука сделана с оглядкой на безопасность и ограничение опакеченных приложений).

DawnCaster ()

Over 9000 различных типов пакетов. Теперь кому-то придётся собирать и snap и AppImage сразу. С таким же успехом можно просто собарть пакеты под разные дистрибутивы.

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

Небывалый успех для Марка.

Скорее, компромисс

  • в Ubuntu внедрили GNOME
  • в Fedora внедрили snap

После этого инфраструктуру этих двух дистров будет легче объединить в одну ;-)

atsym ★★ ()

Так эта штука завязана под systemd? А то пишут, что

once the snapd package is successfully installed you have to enable the systemd unit which takes care of snapd’s main communication socket:

$ sudo systemctl enable --now snapd.socket

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

тяжело с вами

кто «они»?

Fedora - дистрибутив разрабатываемый сообществом. Если maintainer snapd прислал пакет в Fedora-репы и прошел ревью, пакет принимается и snapd появляется в Fedora.

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

AppArmor

Он никак не спасёт от беспредела который можно творить с X11. И с другими службами вроде dbus или пульсы, потому что Apparmor не может влезть в данные передаваемые по сокету между «опакеченным» клиентом и хостовым сервисом (пульсой, например). И ничто не мешает клиенту, вызвать какое-нибудь переполнение буфера у пульсы, например.

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

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

Но это ещё только цветочки. Опакеченному приложению для работы, может понадобится доступ к каким-нибудь устройствам (как пример, /dev/dri/* для работы аппаратного opengl). Опакеченному приложению для работы могут понадобиться изменение caps «на лету» и работа с неколькими id - пользователей. А тут нужно либо «пробрасывать» в контейнер реального рута (как в докере, например, безопасность которого тут сейчас обсуждается в каком-то разделе форума), что в случае компрометации приложения вообще позволит шатать всю систему. Либо, нужно в контейнере организовывать какой-нибудь UID-маппинг, и опционально перехват системных вызовов которые не будут работать без рута (в дебиане, например, для этого есть такая утилитка как fakeroot).

Это всё - огромный фронт работ, на самом деле. Поэтому и спрашиваю у знатоков snap'а - какие там механизмы безопасности используются, и есть-ли с этим какие проблемы, так как ковыряться в доках snap'а - немного влом.

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

Чем пакет со всеми зависимостями лучше пакета, в котором бинарники слинкованы статически?

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

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

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

Просто ЧУДОВИЩНЫЙ БЕСПРЕДЕЛ! Зато теперь в этом вашем вяленом нельзя сделать скриншот. Зато БИЗАПАСНА! Покажи хотя бы один вирус на линукс который скриншотами что-то воровал.

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

Покажи хотя бы один вирус на линукс который скриншотами что-то воровал.

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

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

AppArmor, в собственно федоре, о которой новость, планируют допилить под это дело SELinux. Но вообще так-то не вижу особых проблем, программы из обычных пакетов могут делать всё то же самое.

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

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

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

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

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

К тому-же, исходники для RPM'ок мейнтейнеры хотя-бы могут посмотреть. Системы сборки пакетов deb\rpm в нормальных дистрибутивах имеют у себя кучу автоматических проверок на всякий совсем уж ахтунг в коде и сценарии сборки rpm'ки, у них есть обязательные флаги компиляции без использования которых пакет просто не пустят в дистрибутив. Всё это уже немного повышает безопасность.

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

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

До недавнего времени так и делал. Неудобно.

Сейчас решил вопрос собственной оберткой поверх bwrap и пробросом x11 через xpra (сейчас как раз тестирую насколько оно секурно). По сути уже получается вундервафля по типу firejail, но универсальнее. Может даже опубликую свой говнокод где-нибудь здесь в новостях если таки доделаю до уровня когда не будет стыдно за свой код.

DawnCaster ()

Тут гэта, непонятки конкретныя пошли.
Или Марк клоунадит, или сговор двух игорьков по разделу рыночка-порешалочка.

Значицца Юнити мы забрасываем, а snapd RH в себя интегрирует?
Ню-ню..

RTP ★★★★★ ()