WINE@Etersoft/Режим административной установки
Содержание
- 1 Режим административной установки
- 1.1 Администратор WINE
- 1.2 Общее win-окружение
- 1.3 Подключение к общему win-окружению
- 1.4 Права доступа к общему win-окружению
- 1.5 Работа с ярлыками
- 1.6 Общие замечания
- 1.7 Краткая инструкция
- 1.8 Рассмотрим на конкретном примере
- 1.9 Файл конфигурации
- 1.10 Копирование ярлыков пользователю
- 1.11 Создание резервной копии
Режим административной установки
Обычный подход, когда каждый пользователь должен самостоятельно установить win-приложение в своём домашнем каталоге (локальном win-окружении), не очень удобен для использования, когда много пользователей работают с одним и тем же приложением.
Для упрощения администрирования в такой ситуации в WINE@Etersoft имеется режим административной установки. В этом режиме программы, установленные администратором WINE, будут сразу доступны всем пользователям.
Общая схема административного режима установки сводится к следующему:
- Специально выделенный пользователь (администратор WINE) создаёт общий логический диск
C:(общее win-окружение) и устанавливает в него программы. - Каждый пользователь, который собирается работать с общим win-окружением, должен подключиться к нему (используя его в качестве своего логического диска
C:). После этого вся работа происходит с win-приложениями, установленными администратором.
Изменения в рабочей WINE-среде, выполняемые администратором, будут доступны всем пользователям -- в общем win-окружении -- и у всех пользователей изменения будут согласованы. Этот режим особенно удобен при устройстве терминального сервера, когда win-приложения всех пользователей выполняются на сервере.
Ниже пошагово описан процесс настройки административного режима установки WINE.
Администратор WINE
Прежде всего потребуется определить пользователя, который будет администратором WINE. Этого пользователя нужно добавить в группу wineadmin (такая группа создаётся при установке WINE).
Технически в группу wineadmin могут входить несколько пользователей. В этом случае все они смогут равноправно изменять общее win-окружение. Хорошим решением будет создать отдельную учётную запись, которая будет играть роль администратора WINE.
Общее win-окружение
После того как администратор WINE определён, следует создать каталог, который будет играть роль общего win-окружения. Рекомендуется в качестве общего каталога использовать /var/lib/wine-etersoft/default. При установке пакета wine сразу создаётся /var/lib/wine-etersoft с необходимыми правами (root:wineadmin rw-rw-r--), позволяющими администратору WINE создавать там каталоги.
Подготовка административной системы выполняется командой wine --admin /путь/к/общему/каталогу. При выполнении wine --admin не получится использовать уже существующий префикс, вся подготовка префикса (установка программ и настройка) должна выполняться после создания префикса через wine --admin. Если на момент выполнения этой команды указанного каталога ещё не существует, он будет создан. Если выполнить эту команду без указания каталога, будет использован каталог по умолчанию /var/lib/wine-etersoft/default.
После настройки среды через wine --admin администратор устанавливает необходимые программы обычным способом.
Обратите внимание, что при использовании SAMBA команду wine --admin лучше выполнять на машине, где расположен сам ресурс.
wine --admin так же можно указать WINEPREFIX=/путь/к/префиксу что бы изменить место его создания. Например: WINEPREFIX=/home/user/.SharedPrefix wine --admin.
Подключение к общему win-окружению
Каждому пользователю, чтобы подключиться к общему win-окружению, необходимо выполнить команду wine --attach /путь/к/общему/каталогу. Если указан относительный путь к каталогу, он будет отсчитываться от /var/lib/wine-etersoft, если же каталог не указан вовсе, по умолчанию используется /var/lib/wine-etersoft/default.
После выполнения этой команды wine, запущенный этим пользователем, будет использовать в качестве win-окружения указанный каталог (вместо ~/.wine, который используется по умолчанию). В случае подключения к общему каталогу пользователю будут доступны все программы, установленные там администратором WINE.
Отличия wine, подключённого к общему win-окружению, от стандартной настройки заключаются в следующем:
- Логический диск
C:(системный) является ссылкой на общее win-окружение и по умолчанию доступен для записи только пользователям, входящим в группуwineadmin. Рядовые пользователи в общем win-окружении имеют право создавать каталоги только вc:/windows/profiles, где хранятся их личные данные, и вc:/windows/temp, где хранятся временные файлы. - системный реестр в локальном win-окружении пользователя (
~/.wine/system.reg) является ссылкой на файл в общем win-окружении
(там он расположен в каталоге c:/windows/inf);
Права доступа к общему win-окружению
Чтобы пользователи могли совместно работать с общим win-окружением, по команде wine --admin в нём производится следующая настройка прав доступа:
- На каталог общего win-окружения устанавливается атрибут SGID
(2770), чтобы все файлы, созданные в этом каталоге, принадлежали общей группе (wineadmin), а не группе создавшего пользователя. Это даёт администраторам WINE (входящим в группу wineadmin), доступ к любым файлам в этом каталоге.
- На общий временный каталог
c:/windows/tempвыставляется атрибут "sticky bit" (режим 1770), чтобы пользователи не могли удалить созданные другими файлы. - каталог общего win-окружения должен иметь атрибут SGID (режим 2770), чтобы созданные разными пользователями (администраторами, входящими в группу wineadmin) файлы принадлежали общей группе, выставленной на каталоге, а не группе пользователя.
Администратор может производить дополнительное разграничение прав обычными системными средствами. При необходимости иметь некоторые каталоги общедоступными, на них нужно исправить права или группу.
Работа с ярлыками
При создании общего win-окружения администратором WINE будет предпринята попытка скопировать ярлыки из каталога рабочего стола и ~/.local/share/applications/wine/Programs, а также иконки к ним из ~/.local/share/icons/hicolor. Расположение этих ярлыков и иконок в созданном префиксе (общем win-окружении) будет следующим: ~/ваш_префикс/drive_c/windows/SharedShortCuts. Они будут разделены по подкаталогам:
- Desktop — каталог для ярлыков, которые будут расположены на рабочем столе.
- applications — каталог для ярлыков, которые будут доступны в меню.
- icons — каталог для иконок, используемых в ярлыках.
Выбор того, какие ярлыки и иконки будут скопированы, зависит от имени и расположения вашего префикса. Будут проверены все доступные ярлыки и наличие пути, указывающего на ваш префикс. Копирование иконок уже зависит от найденного ярлыка и наличия в нем названия для иконки.
После установки программ в префикс (общее win-окружение) для копирования новосозданных ярлыков можно использовать команду --share-desktop или же перенести их вручную. Также можно использовать ярлыки, созданные вручную, разместив их в домашнем каталоге (в каталоге рабочего стола, ~/.local/share/applications/wine/Programs и ~/.local/share/icons/hicolor) и использовав команду --share-desktop, либо разместить их напрямую в общем win-окружении по пути ~/ваш_префикс/drive_c/windows/SharedShortCuts, соблюдая указанную выше структуру.
Для пользователя, подключающегося к общему win-окружению, достаточно выполнить команду wine --attach /путь/к/общему/каталогу. При инициализации префикса доступные ярлыки и иконки будут скопированы и расположены в домашнем каталоге в соответствии со структурой их расположения в общем win-окружении. Также для обновления набора ярлыков и иконок существует команда wine --copy-desktop.
Общие замечания
Для упрощения приняты следующие умолчания: если в качестве параметра --admin или --attach указан относительный путь к каталогу (например, просто test), то он отсчитывается от /var/lib/wine-etersoft. Если каталог не указан вовсе, подразумевается /var/lib/wine-etersoft/default
Команды настройки общего win-окружения (wine --admin) и подключения к нему (wine --attach) предполагают, что у выполняющего их пользователя отсутствует каталог ~/.wine. Если такой каталог уже есть, то будет выведено сообщение об ошибке. При необходимости можно переместить ~/.wine в другой каталог или изменить переменную окружения WINEPREFIX -- тогда wine --admin и wine --attach будут производить настройку в том каталоге, который указан в этой переменной.
Краткая инструкция
Режим административной установки призван упростить администрирование ПО при наличии однотипных установок программ, и очень легко реализуется на практике. Рассмотрим порядок установки с самого начала, когда пользователи в системе уже заведены, но /. wine отсутствует (инициализация не производилась).
- Вносим пользователя, который будет администрировать WINE (устанавливать программы), в группу
wineadmin. - Заходим под пользователем-администратором и запускаем
$ wine --admin - Устанавливаем необходимые программы и выполняем нужные настройки
- При необходимости выполняем
wine --share-desktopдля копирования ярлыков - Под каждым пользователем запускаем
$ wine --attach - В случае если необходимо обновить ярлыки используем команду
wine --copy-desktop
Всё. Пользователи разделяют системный реестр system.reg, имеют индивидуальный реестр user.reg, общий диск C:, доступный на запись пользователю-администратору.
Рассмотрим на конкретном примере
На машине присутствуют пользователи admin и test, где admin - учетная запись администратора, test - учетная запись рядового пользователя
- После установки WINE@Etersoft необходимо добавить администратора (пользователя admin) в группу wineadmin:
# usermod -a -G wineadmin admin
- Запускаем под пользователем admin команду:
$ wine --admin
- После отработки команды, переходим к установке необходимой Вам программы в wine, установка не отличается от обычной. На примере КОМПАС-3D v21 необходимо перейти в каталог с распакованным дистрибутивом программы и запустить:
$ wine_install_kompas
- После установки программы, запустите её под пользователем admin и выполните все необходимые настройки (например, активация ПО или подключение лицензионных ключей защиты)
- Скопируем ярлыки от установленной программы командой
wine --share-desktop, если они существуют. Подробнее в разделе "Работа с ярлыками".
wine --share-desktop необязательно, только в тех случаях когда вы устанавливаете программу без использования скрипта.
- После выполнения всех настроек в ПО, заходим в систему под тем пользователем, который будет работать с ПО, в нашем примере это пользователь test, и выполняем команду:
$ wine --attach
Готово! Теперь пользователь может пользоваться программой.
Файл конфигурации
Файл конфигурации по умолчанию расположен в /etc/wine-etersoft/wine-etersoft.conf. Так же он может быть расположен в домашнем каталоге пользователя ~/.config/wine-etersoft.conf и в самом префиксе ~/.wine/wine-etersoft.conf. При этом будет сохраняться наследственность в следующем порядке etc > .config > .wine, если были изменены какие-то значения, то они будут перезаписаны в указанном порядке.
В файле конфигурации используются следующие параметры:
-
ATTACH_MODE— Подсоединяет пользователя к административной установке при первом запуске. -
WINEADMIN— Название или путь к каталогу административной установки. -
WINEDISABLEETERSPLASH— Выключение заставки при запуске с ярлыка.
Копирование ярлыков пользователю
После использования скриптов автоматической установки wine_install_*, либо команды wine --share-desktop пользователем с правами администратора WINE, ярлыки скопированы в общее win-окружение. Пользователь, использовавший wine --attach в первый раз, автоматически скопирует все ярлыки, которые были в общем win-окружении. При необходимости пользователю подключенному к общему win-окружению можно воспользоваться командой wine --copy-desktop для обновления ярлыков.
Создание резервной копии
Для создания резервной копии установленных в режиме административной установки программ достаточно заархивировать каталог /var/lib/wine-etersoft/default. В нём находится содержание диска C:, включая файл системного реестра.
