LINUX.ORG.RU

Как запретить Portproton доступ в основную систему?

 ,


1

1

Всем привет. Начал недавно освоение Wine и Portproton как его самой результативной модификации. Да, буду виндовые проги запускать. Однако, меня сильно настораживает тот факт, что Wine имеет доступ во всю файловую систему (по крайней мере, к папке пользователя). Поскольку работать предстоит с проприетарным софтом (сиречь «чёрным ящиком»), то мне нужно как-то перестраховаться, сделав так, чтобы сам Wine видел только то, что находится в его папке, и не мог воспринимать всю остальную систему. Как это сделать?

Перемещено hobbit из general



Последнее исправление: hobbit (всего исправлений: 1)

Ответ на: комментарий от firkax

Можно просто не городить эти костыли и сделать нормально - ограничивать права предназначенными для этого инструментами

В теории можно. На практике же почему-то этого до сих пор не случилось, и львиная куча софта запускается без вообще какой-либо изоляции. Тащемта, Steam – вроде как единственная штука, запускающая вендовое говно через bubblewrap. Lutris до сих пор не может.

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

Плюс, мне нравится подход openbsd в этом: там весь нативный софт после инициализации дёргает pledge() и unveil(), ограничивая свои привилегии до необходимого минимума. Вот так вот, легко и просто.

hateyoufeel ★★★★★
()
Последнее исправление: hateyoufeel (всего исправлений: 1)
Ответ на: комментарий от hateyoufeel

Чего не случилось, что ты несёшь? Ты сам писал что wine в bubblewrap нормально работает. Или ты хочешь чтоб оно при установке wine автоматом настраивалось? Ну это чушь, пятый раз повторяю что изоляция это не задача wine никаким боком и не надо от него её ждать. Хочешь изолировать - настраивай изоляцию. И не важно, изолируешь ли ты виндовый сомнительный софт или линуксовый, а ты зачем-то вцепился именно в wine. Давай тогда скажем что мы не доверяем прогам, пользующимся libc (ведь существуют вирусы которым нужен libc), и на этом основании надо чтоб libc при запуске автоматом что-то там изолировал, это ж бред.

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

Плюс, мне нравится подход openbsd в этом: там весь нативный софт после инициализации дёргает pledge() и unveil(), ограничивая свои привилегии до необходимого минимума. Вот так вот, легко и просто.

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

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 1)
Ответ на: комментарий от firkax

Я например совершенно не хочу, после штатной установки wine, выковыривать из него какие-то непрошеные изоляции.

А зачем тебе оттуда что-то выковыривать?

Это апи-транслятор, мне он нужен именно в этом качестве безо всякой самодеятельности

Самодеятельности в нём до жопы, так-то. Мне интересно, что именно ты оттуда уже выковырял.

Если сделать тут аналогию то эти вызовы должна делать уже виндовая прога

Говённые у тебя аналогии. Сама идея, что вендовая прога должна что-то знать о линуксовых API, попахивает маразмом.

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

Там нет изоляций, там есть вагон других штук, к трансляции API как таковому отношения не имеющих. Notepad.exe и InternetExplorer.exe ты выковырял из своего wine уже?

Кстати, мне очень нравится, что wine при установке прописывает свои говнопроги для ассоциаций с файлами. У меня недавно как-то вышло что png по дефолту в этом сраном IE.exe открывался вместо нормального софта. Хотя это, конечно, камень в сторону XDG, а не wine.

hateyoufeel ★★★★★
()
Последнее исправление: hateyoufeel (всего исправлений: 1)
Ответ на: комментарий от hateyoufeel

Ладно, я забыл что там ещё комплект софта идёт. Не суть, речь не про это была.

Кстати, мне очень нравится, что wine при установке прописывает свои говнопроги для ассоциаций с файлами

Не замечал такого. Наверно потому что у меня нет файловых ассоциаций вообще. Ну ладно, это с их стороны не очень хорошо, и если б я ими пользовался то пришлось бы выковыривать.

Но это не повод добавлять ещё больше незапрошенных функций.

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

Наверно потому что у меня нет файловых ассоциаций вообще.

Есть, просто ты ими не пользуешься.

Но это не повод добавлять ещё больше незапрошенных функций.

Незапрошенных кем? С моей стороны вот запрос есть. Тем более, что вот эта фича как раз займёт минимум кода и легко окружается #ifdef или опцией в конфиге.

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

Есть, просто ты ими не пользуешься.

Опять демагогия. Конечно всякие пакеты ставят разный хлам в конфиги, но действия «запустить просто файл» у меня в пользовательском интерфейсе не предусмотрено.

Незапрошенных кем? С моей стороны вот запрос есть.

Пойду тогда запрошу добавить в tar функцию отправки только что сделанного архива по email, или заливки его на яндекс-диск (разумеется под авторизацией). Для показа возможных капч придётся линковать его с libx11, но кого это волнует.

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

Пойду тогда запрошу добавить в tar функцию отправки только что сделанного архива по email

ТЫ КОРОЧЕ НЕ ПОВЕРИШЬ

       -f, --file=ARCHIVE
              Use archive file or device ARCHIVE.  If this option is not given,
              tar will first examine the environment variable `TAPE'.  If it is
              set, its value will be used as the archive name.  Otherwise,  tar
              will  assume  the  compiled-in default.  The default value can be
              inspected either using the --show-defaults option, or at the  end
              of the tar --help output.

              An archive name that has a colon in it specifies a file or device
              on  a  remote machine.  The part before the colon is taken as the
              machine name or IP address, and the part after it as the file  or
              device pathname, e.g.:

              --file=remotehost:/dev/sr0

              An optional username can be prefixed to the hostname, placing a @
              sign between them.

              By  default,  the remote host is accessed via the rsh(1) command.
              Nowadays it is common to use ssh(1) instead.  You can  do  so  by
              giving the following command line option:

              --rsh-command=/usr/bin/ssh

              The  remote machine should have the rmt(8) command installed.  If
              its pathname does not match tar's default,  you  can  inform  tar
              about the correct pathname using the --rmt-command option.

Если ты передашь –rsh-command=sendmail (плюс нужные параметры в –rmt-command), угадай что будет!

hateyoufeel ★★★★★
()
Последнее исправление: hateyoufeel (всего исправлений: 2)
Ответ на: комментарий от firkax

Этот «параметр» уже есть и должен указываться перед путём к wine.

Да, это так. Но скорее всего вендовые процессы можно изолировать сильнее без потери их функционала.

Ну и вообще можно сделать какой-нить wine-launcher с гуи настройкой врапперов.

лол можно конечно. Lutris и прочие Bottles для этого и нужны. Есть только один нюанс: строчка для запуска вина, которую они собирают, настолько монструозна, что собрать её руками например для дебага уже становится нетривиальным.

В общем, вся эта сложность всё равно присутствует.

hateyoufeel ★★★★★
()