История изменений
Исправление 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, :
Они совсем по-разному устроены.