LINUX.ORG.RU

История изменений

Исправление intelfx, (текущая версия) :

Они совсем по-разному устроены. Например, механизмы изоляции отличаются чуть более чем полностью.

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

Более того, во флатпаке проделали существенную работу по увеличению гранулярности изоляции: все стандартные механизмы IPC (типа того же D-Bus) и ввода-вывода завернули в прослойки-«порталы». Т. е. если приложению нужен доступ к D-Bus, то вместо того, чтобы прокидывать целиком сокет и таким образом выставлять систему голой жопой, приложению можно дать доступ к конкретному адресу на шине и больше ничего он не увидит. Если приложению нужен доступ к вебке или микрофону, то опять же, приложению не выдаётся «сырой» доступ к /dev/snd или /dev/v4l или сокету PA, а только прослойка, которая сначала спрашивает у юзера, можно ли дать доступ к конкретному устройству, а уже потом пробрасывает поток данных. И так далее. В снапе, насколько я знаю, ничего подобного нет.

Подход флатпака мне видится более правильным. Единственное, что мне в нём совсем не нравится — это то, как они сделали портал для файлов. Он выглядит как один огромный костыль и требует поддержки со стороны каждого конкретного тулкита или приложения.

Исправление intelfx, :

Они совсем по-разному устроены. Например, механизмы изоляции отличаются чуть более чем полностью.

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

Более того, во флатпаке проделали существенную работу по увеличению гранулярности изоляции: все стандартные механизмы IPC (типа того же D-Bus) и ввода-вывода завернули в прослойки-«порталы». Т. е. если приложению нужен доступ к D-Bus, то вместо того, чтобы прокидывать целиком сокет и таким образом выставлять систему голой жопой, приложению можно дать доступ к конкретному адресу на шине и больше ничего он не увидит. Если приложению нужен доступ к вебке или микрофону, то опять же, приложению не выдаётся «сырой» доступ к ALSA или V4L2 целиком, а только прослойка, которая сначала спрашивает у юзера, можно ли дать доступ к конкретному устройству, а уже потом пробрасывает поток данных. И так далее. В снапе, насколько я знаю, ничего подобного нет.

Подход флатпака мне видится более правильным. Единственное, что мне в нём совсем не нравится — это то, как они сделали портал для файлов. Он выглядит как один огромный костыль и требует поддержки со стороны каждого конкретного тулкита или приложения.

Исправление intelfx, :

Они совсем по-разному устроены. Например, механизмы изоляции отличаются чуть более чем полностью.

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

Более того, во флатпаке проделали существенную работу по увеличению гранулярности изоляции: все стандартные механизмы IPC (типа того же D-Bus) и ввода-вывода завернули в прослойки-«порталы». Т. е. если приложению нужен доступ к D-Bus, то вместо того, чтобы прокидывать целиком сокет и таким образом выставлять систему голой жопой, приложению можно дать доступ к конкретному адресу на шине и больше ничего он не увидит. Если приложению нужен доступ к вебке или микрофону, то опять же, приложению не выдаётся «сырой» доступ к ALSA или V4L2 целиком, а только прослойка, которая сначала спрашивает у юзера, можно ли дать доступ к конкретному устройству, а уже потом пробрасывает поток данных. И так далее. В снапе, насколько я знаю, ничего подобного нет.

Подход флатпака мне видится более правильным. Единственное, что мне в нём совсем не нравится — это то, как они сделали портал для файлов.

Исправление intelfx, :

Они совсем по-разному устроены. Например, механизмы изоляции отличаются чуть более чем полностью.

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

Более того, во флатпаке проделали существенную работу по увеличению гранулярности изоляции: все стандартные механизмы IPC (типа того же D-Bus) и механизмы ввода-вывода завернули в прослойки-«порталы». Т. е. если приложению нужен доступ к D-Bus, то вместо того, чтобы прокидывать целиком сокет и таким образом выставлять систему голой жопой, приложению можно дать доступ к конкретному адресу на шине и больше ничего он не увидит. Если приложению нужен доступ к вебке или микрофону, то опять же, приложению не выдаётся «сырой» доступ к ALSA или V4L2 целиком, а только прослойка, которая сначала спрашивает у юзера, можно ли дать доступ к конкретному устройству, а уже потом пробрасывает поток данных. И так далее. В снапе, насколько я знаю, ничего подобного нет.

Подход флатпака мне видится более правильным.

Исправление intelfx, :

Они совсем по-разному устроены. Например, механизмы изоляции отличаются чуть более чем полностью.

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

Более того, во флатпаке проделали существенную работу по увеличению гранулярности изоляции: все стандартные механизмы IPC (типа того же D-Bus) и механизмы ввода-вывода завернули в прослойки-«порталы». Т. е. если приложению нужен доступ к D-Bus, то вместо того, чтобы прокидывать целиком сокет и таким образом выставлять систему голой жопой, приложению можно дать доступ к конкретному адресу на шине и больше ничего он не увидит. Если приложению нужен доступ к вебке или микрофону, то опять же, приложению не выдаётся сырой доступ к ALSA или V4L2, а только прослойка, которая сначала спрашивает у юзера, можно ли дать доступ к конкретному устройству, а уже потом даёт доступ. И так далее. В снапе, насколько я знаю, ничего подобного нет.

Подход флатпака мне видится более правильным.

Исправление intelfx, :

Они совсем по-разному устроены. Например, механизмы изоляции отличаются чуть более чем полностью.

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

Более того, во флатпаке проделали существенную работу по увеличению гранулярности изоляции: все стандартные механизмы IPC (типа того же D-Bus) и устройства ввода-вывода завернули в прослойки-«порталы». Т. е. если приложению нужен доступ к D-Bus, то вместо того, чтобы прокидывать целиком сокет и таким образом выставлять систему голой жопой, приложению можно дать доступ к конкретному адресу на шине и больше ничего он не увидит. Если приложению нужен доступ к вебке или микрофону, то опять же, приложению не выдаётся сокет PA целиком, а только прослойка, которая сначала спрашивает у юзера, можно ли дать доступ к конкретному устройству, а уже потом даёт доступ. И так далее.

Подход флатпака мне видится более правильным.

Исправление intelfx, :

Они совсем по-разному устроены. Например, механизмы изоляции отличаются чуть более чем полностью.

В снапе вся изоляция крутится вокруг правил AppArmor (и всё, что явно не запрещено через профиль, остаётся разрешено), а во флатпаке изоляция достигается автоматически за счёт неймспейсов, в которые при необходимости прокидываются отдельные куски ФС, сокеты, имена D-Bus и всё такое (т. е. всё, что явно не разрешено, запрещено). Подход флатпака мне видится более правильным.

Исправление intelfx, :

Они совсем по-разному устроены. Например, механизмы изоляции отличаются чуть более чем полностью. В снапе вся изоляция крутится вокруг правил AppArmor (и всё, что явно не запрещено через профиль, остаётся разрешено), а во флатпаке изоляция достигается автоматически за счёт неймспейсов, в которые при необходимости прокидываются отдельные куски ФС, имена D-Bus и всё такое (т. е. всё, что явно не разрешено, запрещено). Подход флатпака мне видится более правильным.

Исправление intelfx, :

Они совсем по-разному устроены. Например, механизмы изоляции у каждого свои. В снапе вся изоляция крутится вокруг AppArmor (и всё, что явно не запрещено, остаётся разрешено), а во флатпаке изоляция достигается автоматически за счёт неймспейсов, в которые при необходимости прокидываются отдельные куски ФС, имена D-Bus и всё такое (т. е. всё, что явно не разрешено, запрещено). Подход флатпака мне видится более правильным.

Исходная версия intelfx, :

Они совсем по-разному устроены.