WINE@Etersoft/Организация совместной работы — различия между версиями
(→Настройка win-окружения) |
|||
Строка 75: | Строка 75: | ||
Можно внести создание этого диска в сценарий в каталоге <code>/etc/wine/script.d/</code>, тогда он будет создаваться автоматически в каждом win-окружении пользователя при первом запуске WINE (см. подробнее в разделе ''Единообразие настроек пользователя''). | Можно внести создание этого диска в сценарий в каталоге <code>/etc/wine/script.d/</code>, тогда он будет создаваться автоматически в каждом win-окружении пользователя при первом запуске WINE (см. подробнее в разделе ''Единообразие настроек пользователя''). | ||
− | {{Wine}} | + | |
+ | <noinclude>{{Wine}}</noinclude> |
Версия 17:42, 5 апреля 2016
Содержание
[убрать]- 1 Организация совместной работы
- 2 Настройка прав доступа
- 2.1 Не выставляйте права на каталог 777, т.к. это не даст результата. В первую очередь важны права на создаваемые файлы, поэтому важно правильно установить группу каталога и SGID-бит на него.
- 2.2 WINE@Etersoft поставляется со скриптом setwineshare, который выполняет перечисленные действия для указанного в качестве параметра каталога.
- 2.3 Обратите внимание, что при случайной установке атрибута SGID на файлы базы, расположенной по сети, они могут быть недоступны из WINE. Устанавливать биты SUID и SGID на файлы не следует.
- 2.4 При размещении каталога нужно учитывать, что совместный доступ к большим базам данных в типичных win-приложениях предъявляет высокие требования к жёсткому диску по скорости доступа и устойчивости к постоянной нагрузке. Крайне желательны регулярные резервные копии.
- 3 Настройка доступа через ACL
- 4 Доступ к общему ресурсу
- 5 Терминальный сервер
- 6 Разделяемый сетевой ресурс
- 7 Настройка win-окружения
Организация совместной работы
Чтобы сделать возможной одновременную работу нескольких пользователей с одним ресурсом (например, с базой данных 1C), потребуется выполнить два основных этапа:
- настроить права доступа;
- организовать одновременный доступ к общему ресурсу с нескольких рабочих мест.
Настройка прав доступа
Обычно совместная работа с базой данных и подобными ресурсами требует, чтобы у каждого пользователя были права не только на чтение, но и на запись. Такой тип доступа можно организовать стандартными средствами Linux, включив всех пользователей в одну группу и соответствующим образом настроив права. При установке WINE создаётся группа wine
, в простом случае -- когда все пользователи равноправны в доступе к данным -- можно воспользоваться ею. Администратор однако волен организовать сколь угодно сложную схему разделения прав с помощью произвольного количества групп. Ниже приводятся рекомендации по настройке прав доступа к каталогу с общими данными для простого случая:
Не выставляйте права на каталог 777, т.к. это не даст результата. В первую очередь важны права на создаваемые файлы, поэтому важно правильно установить группу каталога и SGID-бит на него.
- Каталог должен принадлежать той группе, куда внесены все пользователи общего ресурса, например, группе
wine
. - Права доступа на каталог --
770
(rwxrwx---
), чтобы все члены группы могли модифицировать содержимое каталога. - На каталог нужно установить атрибут SetGID -- режим
2770
(rwxrws---
), чтобы все создаваемые в нём файлы принадлежали той же группе, что и каталог, а не группе создавшего файл пользователя. - В процессе работы с общим ресурсом
umask
<ref>umask
определяет, какие права доступа по умолчанию будут получать файлы, создаваемые пользователям. Подробности -- в руководстве поumask
.</ref> пользователя должен быть выставлен в007
, т. е. "создавать файлы с правами на чтение, запись и исполнение для владельца и группы". В сочетании с атрибутом SetGID это даёт доступ на чтение/запись всем пользователям группы ко всем файлам в общем каталоге. Для программ, запущенных в WINE, значениеumask
задаётся переменнойUMASK
в файле/etc/wine/config
(по умолчанию -- 002, что необходимо для административного режима).
Пример использования setwineshare: # setwineshare --set --group my1cusers /net/sharebase
. В этом примере выполняется установка правильных прав на каталог/net/sharebase и его подкаталоги, присваивается группа my1cusers. Выполнять setwineshare следует с правами root
. По умолчанию используется группа wine.
Обратите внимание, что при случайной установке атрибута SGID на файлы базы, расположенной по сети, они могут быть недоступны из WINE. Устанавливать биты SUID и SGID на файлы не следует.
При размещении каталога нужно учитывать, что совместный доступ к большим базам данных в типичных win-приложениях предъявляет высокие требования к жёсткому диску по скорости доступа и устойчивости к постоянной нагрузке. Крайне желательны регулярные резервные копии.
Настройка доступа через ACL
При использовании ACL для ограничения доступа к файлам базы данных имеются нюансы. Подробнее см. на http://kb.etersoft.ru/Пример_использования_1C_и_ACL
Доступ к общему ресурсу
Каталог с общими данными необходимо сделать доступным для win-приложений каждого пользователя. Делается это стандартным способом: в локальном win-окружении каждого пользователя создаётся символьная ссылка на каталог с общими данными в каталоге dosdevices
. Сам этот общий каталог может располагаться где угодно, единственное требование: он должен быть доступен в файловой системе на каждом рабочем месте. y Есть две принципиальные возможности сделать общий каталог доступным одновременно с нескольких рабочих мест:
Терминальный сервер
Win-приложение установлено и выполняется на сервере, там же размещены общие ресурсы. Все пользователи получают тонкие клиенты: их приложения запускаются на сервере, а рабочие станции служат только для ввода и вывода данных.
Разделяемый сетевой ресурс
Win-приложение установлено и выполняется на рабочих станциях пользователей. Общие данные предоставляются пользователям в виде разделяемого сетевого ресурса (NFS или CIFS).
Терминальный сервер
Случай терминального сервера с точки зрения запуска win-приложений в WINE ничем не отличается от совместной работы нескольких локальных пользователей на одной машине, поэтому задача настройки сводится к правильной организации прав доступа (см. следующий раздел).
Подробнее о существующих программах для организации удалённого доступа к серверу приложений см. в разделе Организация терминального сервера.
Разделяемый сетевой ресурс
Это такая конфигурация, когда win-приложения каждый пользователь запускает локально на своей рабочей станции, а общие данные располагаются на удалённом сетевом ресурсе (сервере), смонтированном в каталог локальной файловой системы на каждой рабочей станции. С точки зрения win-приложения такая ситуация также неотличима от работы с обычным локальным ресурсом.
На настоящий момент для совместной работы по сети поддерживаются сетевые файловые системы NFS и CIFS.
При использовании NFS совместная работа возможна только между Unix-машинами (Windows-клиенты нельзя подключать). При использовании CIFS возможна гетерогенная работа (смешанная работа Linux- и Windows-клиентов).
Важно! При использовании CIFS все клиенты, работающие с общим ресурсом, должны обращаться к файлам через смонтированный сетевой ресурс. Прямое обращение запрещено.
Подробнее о настройке файловых серверов и клиентов см. в разделах документации Настройка совместной работы по протоколу CIFS и Настройка совместной работы по NFS в Linux.
Настройка win-окружения
Последний -- и самый важный -- необходимый шаг: включить каталог с общими ресурсами в win-окружение каждого пользователя WINE. Делается это стандартным способом: созданием или изменением символьной ссылки в домашнем каталоге пользователя в .wine/dosdevices/
(также можно воспользоваться вкладкой Диски
программы winecfg
). К примеру, если каталог с общими данными у нас находится в /var/1c/
, то можно включить его для конкретного пользователя WINE в качестве диска f:
:
[tester@test tester] cd .wine/dosdevices
[tester@test tester] ln -s /var/1c/ f:
[tester@test tester] ls -l f:
lrwxrwxrwx 1 tester tester 12 Ноя 1 19:21 f: -> /var/1c
Можно внести создание этого диска в сценарий в каталоге /etc/wine/script.d/
, тогда он будет создаваться автоматически в каждом win-окружении пользователя при первом запуске WINE (см. подробнее в разделе Единообразие настроек пользователя).