Wine для нескольких пользователей.

Сегодня в статье поговорим о том, как можно настроить 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



Добавление RSS-ленты на главную страницу этого сайта не поддерживается, так как это может привести к зацикливанию, замедляющему работу вашего сайта. Попробуйте использовать другой блок, например блок Последние записи, для отображения записей сайта.


2020-12-21T15:02:58
Wine