Работа воркспейса от непривилегированного пользователя¶
Воркспейс работает используя lxc контейнеризацию. Для подготовки сервера
предварительно требуется установить пакеты в соответствии с
рекомендациями для вашего дистрибутива
Рекомендуем для развертывания использовать отдельный раздел диска. В данной
инструкции мы исходим из того что воркспейс и каталог установки будет размещен
в каталоге /om Вы можете просто создать этот каталог или смонтировать в него
отдельный раздел.
При использовании lxc контейнеризации размер контейнера может расти из за
файлов логов и временных файлов. Поэтому рекомендуем перенести рабочий каталог
lxc так же на отдельный раздел. Можно использовать раздел для воркспейса.
Например перенести в каталог /om/lxc. Для изменения рабочего каталога lxc
используйте эту инструкцию.
Создание и настройка учетной записи¶
При совместной установке логин центра и воркспейса можно использовать одну
учетную запись. В этом случае обратите внимание на инструкцию по
подготовке сервера для логин центра
в части включения пользователя в группу docker.
Создаем учетную запись.
Указываем пароль нового пользователя и всю нужную информацию
info: Adding user `optiuser' ...
info: Selecting UID/GID from range 1000 to 59999 ...
info: Adding new group `optiuser' (1001) ...
info: Adding new user `optiuser' (1001) with group `optiuser (1001)' ...
info: Creating home directory `/home/optiuser' ...
info: Copying files from `/etc/skel' ...
New password:
Retype new password:
passwd: password updated successfully
Changing the user information for optiuser
Enter the new value, or press ENTER for the default
Full Name []:
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Is the information correct? [Y/n] y
info: Adding new user `optiuser' to supplemental / extra groups `users' ...
info: Adding user `optiuser' to group `users' ...
Создаем структуру каталогов
Для созданного пользователя дадим права на каталоги
Назначение каталогов:
- workspace1 - каталог данных воркспейса
- workspace-backup - каталог для резервных копий при обновлении версии воркспейса.
- workspace-installer - каталог дистрибутивов для запуска воркспейса
При развертывании воркспейса часть файлов распаковываются в каталог /tmp.
Если он смонтирован в отдельный раздел с правами noexec, будет ошибка при
запуске.
Для решения создаем каталог /om/tmp и даем права на него созданной учетной
записи.
После того как мы входим в систему под учетной записью для запуска воркспейса, следует задать env переменную.
Или добавить эту команду в .bashrc для этого пользователя, что бы она
задавалась автоматически.
Настройка прав на запуск приложения¶
После этого подключаемся под созданной учетной записью и выполняем
инструкцию по установке воркспейса до шага формирования
manifest.json включительно. Сам воркспейс пока не запускаем.
Для настройки привилегий пользователя используется принцип минимально необходимых прав. Поэтому нет универсального списка. Команды зависят от сервисов включенных в манифесте воркспейса и путей до файлов воркспейса, поэтому список генерируется инсталлятором дистрибутива.
Переходим в каталог с дистрибутивом воркспейса и выполняем следующую команду.
Warning
Обязательно выполняем под непривилегированным пользователем системы которого мы создали для управления воркспейсом.
Здесь /om/workspace1/manifest.json полный путь до файла манифеста воркспейса.
Пример вывода:

Теперь нам понадобятся root права в системе. Или переключаемся на другую
учетную запись или передаем результат пользователю с соответствующими
правами. Их нужно добавить в правила sudo Например создаем файл
/etc/sudoers.d/workspace и заносим туда.
Под непривилегированным пользователем понадобится перелогиниться в системе.
Для проверки что права есть можно выполнить sudo -l
Можно переходить к первому запуску воркспейса.