В идеале на каждый акт доступа к пользовательским данным пользователь должен давать согласие, на подобие того, как это происходит в Windows UAC. Типа, приложение "Winamp" испрашивает у вас доступ к папке "Моя музыка" с вариантами ответа "разрешить", "разрешить навсегда", "запретить". И будет уже как-то подозрительно, когда приложение "игра три в ряд" будет запрашивать у пользователя доступ к папке "Мои Документы".
Кстати, в Windows UAC черезжопный. Когда какую-нибудь софтину ставишь, он вылазит и говорит, что нужен доступ к "жёсткй диск компьютера". И не понятно, то ли эта софтина тебе просто чего-то в Program Files поставит, или же она тебе жёсткий дист отформатирует.
Panzerschrek[CN]
> Кстати, в Windows UAC черезжопный. Когда какую-нибудь софтину ставишь, он
> вылазит и говорит, что нужен доступ к "жёсткй диск компьютера"
мне кажется, самый нормальный вариант — это запрашивать доступ по папкам. такая-то софтина запрашивает писать в такую-то папку. ясное дело, сегодня какой-нибудь хром куда только ни пишет своё дерьмо в user/documents, но именно в этом и проблема — это должно быть хоть как-то подконтрольно пользователю. какого чёрта весь софт считает, что вся пользовательская директория — его?
даже если 90% пользователей просто прокликают "yes to all" на любые запросы вроде как происходит с лицензионным соглашением, у разрабов не хватит наглости надеяться, что вообще никто не заметит, какие права они запрашивают.
Suslik
> у разрабов не хватит наглости надеяться, что вообще никто не заметит, какие
> права они запрашивают
Чего разрабам всегда хватало, так это наглости. Например служба Стима с админскими правами создает автоматом права на входящие соединения в виндовом файерволле для игр, и это не настраивается.
Т.е. у Стима есть постоянно работающая служба с правами рута, и все с этим соглашаются.
И эта служба автоматом предотвращает вопросы от винды пользователю "вот эта программа хочет слушать интернет, разрешить?"
У остальных сторов скорее всего все тоже самое.
Доступ по папкам вполне себе можно настроить для флатпак приложений, например через морду flatseal. Я скажем всякие тимсы, зумы, слаки и прочую проприетарную малварь запускаю только через флатпак и обрубаю им доступ к любым папкам кроме ~/Downloads. Тимс и прочие электрон приложения срут своими конфигами и кэшами строго внутри своей флатпак папки типа ~/.var/app/com.microsoft.Teams и вообще не имеют доступа к общему домашнему каталогу. Это конечно не UAC, никаких всплывающих запросов пермишенов тут нет, все разрешения надо статично настроить до запуска приложения, но меня все устраивает.
Panzerschrek[CN]
> Когда какую-нибудь софтину ставишь, он вылазит и говорит, что нужен доступ к
> "жёсткй диск компьютера".
можно пример? просто он обычно пишет источник, т.е. расположение, откуда запрошено повышение прав.
Suslik
> мне кажется, самый нормальный вариант — это запрашивать доступ по папкам.
> такая-то софтина запрашивает писать в такую-то папку. ясное дело, сегодня
> какой-нибудь хром куда только ни пишет своё дерьмо в user/documents, но именно
> в этом и проблема — это должно быть хоть как-то подконтрольно пользователю.
> какого чёрта весь софт считает, что вся пользовательская директория — его?
как вариант, можно создавать отдельных пользователей для ПО. Или запускать с пониженным уровнем целостности.
CD
> Чего разрабам всегда хватало, так это наглости. Например служба Стима с
> админскими правами создает автоматом права на входящие соединения в виндовом
> файерволле для игр, и это не настраивается.
> Т.е. у Стима есть постоянно работающая служба с правами рута, и все с этим
> соглашаются.
можно явно запретить, но да, разрабы тупо забивают на принцип, что софт должен работать с наименьшими возможными правами.
Имбирная Ведьмочка
Многие пакеты поставляют документацию в формате HTML.
Во-первых, можно браузеру и открыть доступ к каталогу с html-ками.
Во-вторых, никто не мешает завести второй браузер для условно оффлайновых нужд: на роутер зайти, умным домом порулить, документацию почитать.
браузер - это ещё и pdf-читалка. Типа, зачем мне ставить какие-то мутные трояны от фоксита и адоба
Okular. Ну или Evince, хотя он мне не особо нравится. Не трояны, куда удобней браузера.
надо открыть какой-нибудь локальный svg или gif
Ну так нормальный просмотрщик картинок поставить, не?
В общем, когда браузером открывают локальные файлы - это тоже достаточно типичная ситуация, нельзя её просто вот так взять и запретить.
Всё же стоит браузер и просмотрщики разделять.
alexyecu_wox2team
> Ну так нормальный просмотрщик картинок поставить, не?
По какому критерию Mozilla Firefox - ненормальный?
alexyecu_wox2team
> Во-вторых, никто не мешает завести второй браузер для условно оффлайновых нужд:
> на роутер зайти, умным домом порулить, документацию почитать.
Костыль.
Ещё можно сделать полную сегментацию и кластеризацию, при которой каждое приложение будет жить в своём отсеке и не видеть все остальные отсеки, но работать с такой системой будет совершенно невозможно.
Алексей Патрашов
сэндбоксы давно уже придумали.
Имбирная Ведьмочка
По какому критерию Mozilla Firefox - ненормальный?
Он не просмотрщик. Впрочем, как браузер его тоже, считай, уничтожили.
Костыль.
С чего бы?
alexyecu_wox2team
> Он не просмотрщик.
По какому критерию?
Aroch
> сэндбоксы давно уже придумали.
Я знаю, поэтому и пишу, что пользоваться этим совершенно невозможно, я пробовал.
unnamed
> можно явно запретить, но да
Когда я пробовал отнять права у службы, то Стим выдавал ошибки при работе.
Все это еще мне напомнило об еще одних запредельно наглых негодяях - разработчиков "умных" устройств для дома и их приложений. Из личных примеров: робот пылесос или светильник
1) Взаимодействие с устройствами по wi-fi идет через сервера производителя. Расписание работы? - выполняется на сервере производителя, он же присылает устройству команду начать работу в нужное время.
2) Приложения на телефоне отказываются работать если не дать им доступ к службе геолокации
3) Приложение на телефоне требует рассказать ему логин и пароль для wi-fi
И - никакой реакции. Не вижу священной войны против сил зла.
CD
> Когда я пробовал отнять права у службы, то Стим выдавал ошибки при работе.
я неточно написал - явно запретить можно стимовские разрешения в firewall-е - правила запрета имеют приоритет над разрешением.