Читая ваш вопрос, я согласился с вашей озабоченностью и считаю, что он более безопасен и является стандартным поведением при запуске приложений Windows на виртуальной машине (например, virtualbox [ 0 ]), которая может быть полностью изолирована от вашей системы (и из сети) или с ограниченным набором общих папок.
С другой стороны, всегда можно запустить wine от имени другого пользователя, скажем, MrWine в группе, отличной от вашей, а затем предоставить этому пользователю доступ к вашему локальному винному пути, закрыть ваши каталоги и файлы для группы пользователей. MrWine (просто для остальных из мира Unix [ 1 ], как это по умолчанию). Вы можете закрыть себя, но у вас останется какая-то часть системы, доступная для вина. Редко когда вредоносное ПО может быть спроектировано или эффективно для этого, но если вы хотите быть более уверенным, вам нужно снова запускаться в отдельной закрытой среде, такой как виртуальная машина.
Выполняя поиск в Интернете, я обнаружил интересную ссылку [ 2 ], которая согласуется с этой строкой и дает пошаговую процедуру, с той разницей, что она будет использовать каталог вина пользователя MrWine. Ниже приведены шаги с некоторыми непроверенными изменениями, так что вы также можете обратиться непосредственно к старому оригинальному сообщению.
- Установить вино
Создайте и настройте учетную запись для MrWine (команда должна отличаться)
sudo adduser --disabled-login --shell /sbin/nologin MrWine
sudo usermod --append --groups audio wine
Разрешить вашей собственной учетной записи пользователя запускать команды под учетной записью Mrwine с помощью sudo
sudo env VISUAL=/usr/bin/gedit visudo # maybe sudo visudo is enough
FedComp ALL=(MrWine) NOPASSWD: ALL # Use your linux names here
Прекратите использование Wine любыми другими учетными записями пользователей, поэтому вы не можете запускать wine из-за ошибки без sudo и с вашим собственным пользователем
sudo chown -R MrWine:MrWine ~/.wine
sudo chmod -R o-rwx ~/.wine
# The following lines can be dangerous if there are files
# called wine* in /usr/bin directory that are not of the wine program
sudo chown root:wine /usr/bin/wine*
sudo chmod o-x /usr/bin/wine*
Вы можете изменить форму umask с 022 на 027
umask 027
Создайте свой модуль запуска для Wine, в котором вы предоставляете графический доступ для MrWine к X-серверу (с xhost +SI:FedComp:MrWine
). Лучше в сценарии, похожем на следующий (назовем его RunWine.sh
, chmod u+x RunWine.sh
)
#!/bin/bash
xhost +SI:FedCom:MrWine # use the couple of your username
# and the one you chose for wine
EnvOptions="HOME=/home/MrWine USER=MrWine USERNAME=MrWine LOGNAME=MrWine "
sudo -u MrWine env "$EnvOptions" wine "$@"
Установите и запустите программу как MrWine
sudo chown MrWine:MrWine /home/MrWine/.wine/drive_c/My\ Installer.exe
~/RunWine.sh "C:\My Installer.exe"
~/RunWine.sh "C:\Program Files\ProgDir\ProgName.exe"
Пожалуйста, обратитесь к оригинальному блогу для дальнейших объяснений [ 2 ].