История изменений
Исправление Deleted, (текущая версия) :
мне кажется, что selinux дает возможность разграничивать привилегии на основе связки pid/uid. он не особо хорош для разграничения доступа для процессов одного пользователя.
На основе пары токенов и требуемой операции. (сущность1, сущность2, операция) -> [разрешено, запрещено]
Сущность может быть чем угодно.
тот же пример с пипеткой. понимаешь, о чем я?
Не понимаю, если честно. Расскажи.
Как я это вижу:
- По умолчанию всё всем запрещено. Приложение может взаимодествовать только с базовой функциональностью иксов и с оконным менеджером.
- Конкретным приложениям можно дать конкретные привилегии. Например:
- Репарентить окна. (WM)
- Получать текстуры других окон. (Скриншоты, пипетка, скринкаст.)
- Слушать ввод другого (конкретного) приложения. (даже хз зачем, ну допустим)
- Слушать ввод всех приложений. (менеджер глобальных хоткеев, xneur какой-нибудь)
Что касается wayland, там работа с прикладухой точно такая же: приложения коннектятся на локальный сокет, сервер их обслуживает. Никакой разницы.
В случае с wayland просто по умолчанию запрещено вообще всё. Чтобы иксы свести до такого уровня, даже SELinux не надо. Просто урезать все всем права до минимума и вшить эту политику прямо в сорцы сервера.
Я не знаю, как они там делают привилегии для приложений, и вообще, делают ли. Но если меня склероз не подводит, еще год назад там не было стабилизированного API даже для того, чтобы скриншот снять. Нет функций - нет дыр, классный подход. Можно вообще комп не включать, дыр будет еще меньше.
То есть, ты представляешь механику, как она должна быть когда-то в светлом будущем:
- Скачиваешь флатпак с приложением для скринкаста.
- Там внутри файл с политиками.
- Обертка в гуе спрашивает тебя, разрешить ли применение указанных привилегий к приложению. Соглашаешься.
- Политика засовывается в SELinux.
- Wayland сверяется с SELinux и разрешает приложению писать экран.
Чем в этом фарше Wayland потенциально лучше X11? Да ничем. Там сверху еще охренилиард строк кода надо написать, чтобы это всё заработало.
Исходная версия Deleted, :
мне кажется, что selinux дает возможность разграничивать привилегии на основе связки pid/uid. он не особо хорош для разграничения доступа для процессов одного пользователя.
На основе пары токенов и требуемой операции. (сущность1, сущность2, операция) -> [разрешено, запрещено]
тот же пример с пипеткой. понимаешь, о чем я?
Не понимаю, если честно. Расскажи.
Как я это вижу:
- По умолчанию всё всем запрещено. Приложение может взаимодествовать только с базовой функциональностью иксов и с оконным менеджером.
- Конкретным приложениям можно дать конкретные привилегии. Например:
- Репарентить окна. (WM)
- Получать текстуры других окон. (Скриншоты, пипетка, скринкаст.)
- Слушать ввод другого (конкретного) приложения. (даже хз зачем, ну допустим)
- Слушать ввод всех приложений. (менеджер глобальных хоткеев, xneur какой-нибудь)
Что касается wayland, там работа с прикладухой точно такая же: приложения коннектятся на локальный сокет, сервер их обслуживает. Никакой разницы.
В случае с wayland просто по умолчанию запрещено вообще всё. Чтобы иксы свести до такого уровня, даже SELinux не надо. Просто урезать все всем права до минимума и вшить эту политику прямо в сорцы сервера.
Я не знаю, как они там делают привилегии для приложений, и вообще, делают ли. Но если меня склероз не подводит, еще год назад там не было стабилизированного API даже для того, чтобы скриншот снять. Нет функций - нет дыр, классный подход. Можно вообще комп не включать, дыр будет еще меньше.
То есть, ты представляешь механику, как она должна быть когда-то в светлом будущем:
- Скачиваешь флатпак с приложением для скринкаста.
- Там внутри файл с политиками.
- Обертка в гуе спрашивает тебя, разрешить ли применение указанных привилегий к приложению. Соглашаешься.
- Политика засовывается в SELinux.
- Wayland сверяется с SELinux и разрешает приложению писать экран.
Чем в этом фарше Wayland потенциально лучше X11? Да ничем. Там сверху еще охренилиард строк кода надо написать, чтобы это всё заработало.