Вс. Янв 24th, 2021

Сегодня в статье поговорим о том, как можно настроить wine для использования его несколькими пользователями в вашей системе Linux.

Для примера я буду использовать легковесный дистрибутив XUbuntu, для всех производных операционок, таких как Ubuntu, Debian и т.д. инструкция будет идентичной.

Для начала установим wine на Вашу систему. Как это сделать я описывал в данной статье.

Будем считать что wine у вас установлен, для первого запуска достаточно набрать следующую команду:

wineboot

Программе потребуется некоторое время, а также недостающие зависимости, такие как mono и geckoo. Соглашаемся со всеми установками. После установки всех недостающих программ в директории пользователя появится директория ~/.wine. Если вы ее не видите, то нажмите сочетание клавиш ctrl+h.

Настройка многопользовательского wine

Давайте перенесем нашу только, что созданную директорию в директорию /etc.

sudo mv ~/.wine /etc/wine

Создадим общую группу для всех наших существующих и будущих пользователей.

sudo groupadd samba

Добавим нашего пользователя в данную группу.

sudo usermod -a -G samba myuser

Назначим группу и пользователя на нашу директорию /etc/wine

sudo chown -R myuser:samba /etc/wine

Теперь создадим символическую ссылку на директорию из /etc/wine в директорию нашего пользователя.

ln -s /etc/wine /home/myuser/.wine

А также изменим права на директорию и файлы, чтобы только наш пользователь и группа могли читать и изменять файлы :

chmod -R 6770  /etc/wine

Давайте теперь запустим нашу программу с помощью wine например regedit.exe

wine regedit.exe

Да! Все запускается, но что если создать нового пользователя и не проходить заново установку и настройку wine, а использовать уже установленный и настроенный, со всеми программами которые нам нужны.

Если Вы попробуете просто создать символическую ссылку на директорию /etc/wine, то программы установленные для пользователя myuser не запуститься под новым пользователем . Потому-что wine требует права юзера на некоторые фалы в своей директории.

Например файлы system.reg и user.reg должны принадлежать только тому пользователю, от которого вы собираетесь работать с wine. А в нашем случае владельцем является myuser

Для того чтобы обойти данное ограничение не достаточно присвоить SGIT и SUID (6770) — права на запуск файлов и директорий от пользователя владельцем которого он является. Необходимо, как я уже сказал, быть владельцем файла. Сейчас данные файлы должны принадлежать пользователю myuser. Но как же сделать multiuser wine (многопользовательский wine) спросите вы. Да все очень просто. Надо всего лишь переместить файлы system.reg и user.reg в директорию юзера, того пользователя, которому хотите установить wine и назначить владельцем этих файлов данного пользователя. Давайте проделаем эти шаги.

Этапы настройки многопользовательского wine

  • Создаем пользователя в системе:
adduser myuser2
  • Добавим нашего пользователя в группу samba.
sudo usermod -a -G samba myuser2
  • Создаем директорию wine в директории нового пользователя.
sudo mkdir /home/myuser2/.wine
  • Ограничим права на чтение директории данного юзера:
sudo chmod -R 6770 /home/myuser2
  • Ограничим доступ к директории пользователя:
sudo chown -R myuser2:myuser2 /home/myuser2
  • Создаем символические ссылки на директории /etc/wine/drive_c и /etc/wine/dosdiveces в директорию wine нового пользователя
ln -s /etc/wine/drive_c /home/myuser2/.wine/
ln -s /etc/wine/dosdiveces /home/myuser2/.wine
  • Перемещаем файлы system.reg и user.reg и назначим права на них
cp /etc/wine/{system.reg,user.reg} /home/myuser2/.wine/
chown myuser2:myuser2 /home/myuser2/.wine/{system.reg,user.reg}

После давайте попробуем запустить программу regedit от нашего нового пользователя myuser2. Для этого залогинемся под пользователем и выполним программу:

wine regedit.exe

Как видим теперь программа не выдает ошибку на запуск и прекрасно работает, как от нашего пользователя, так и от нового.

Ошибки wine

Если при попытке запуска программы wine ругается и выдает следующее сообщение:

wine: /home/myuser2/.wine is not owned by you

В этом случае необходимо назначить правильные права на директорию ~/.wine данного пользователя.

Заключение

Подведем итог: Пользователь myuser2 может запустить все программы установленные нашим myuser пользователем. Также работа wine теперь осуществляется от всех пользователей в системе. Мы не создаем дубликаты директорий wine для каждого пользователя.

[endtxt]

RSS

0 0 голос
Article Rating
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x
()
x
Продолжая пользование настоящим сайтом Вы выражаете своё согласие на обработку Ваших персональных данных (файлов cookie) с использованием трекеров "Google Analytics" и "Yandex.Metrics". Порядок обработки Ваших персональных данных, а также реализуемые требования к их защите, содержатся в Политике конфиденциальности.
Принять