У большинства ресурсов ПК СВ имеются соответствующие разрешения для его владельца (owner), пользователей группы (group) и других пользователей (others). Для каждой из этих категорий можно назначить три типа полномочий: USE (применение), MANAGE (управление) и ADMIN (администрирование). Эти полномочия соответствуют следующим операциям:

  • USE — операции, которые не изменяют ресурс, такие как просмотр или использование в ВМ (например, использование непостоянного образа или виртуальной сети). В основном полномочия типа USE применяются для разделения ресурсов с другими пользователями данной группы или с остальными пользователями;
  • MANAGE — операции, которые изменяют ресурс, например, остановка виртуальной машины, изменение типа образа (постоянный/непостоянный) или корректировка IP-адреса, закрепленного за ВМ. В основном полномочия типа MANAGE предоставляются пользователям, которые будут управлять ресурсами;
  • ADMIN — специальные операции, предназначенные для администрирования, например, обновление данных сервера виртуализации или удаление группы пользователей. В основном полномочия типа ADMIN предоставляются пользователям, которые выполняют роль администратора ВМ.

Указанные выше полномочия могут быть применены в отношении следующих ресурсов:

  • шаблоны;
  • виртуальные машины;
  • образы;
  • сети.

Управление полномочиями в интерфейсе командной строки

Просмотр установленных полномочий для ресурса

Для просмотра установленных полномочий используется команда show с указанием идентификатора ресурса.

Пример

Просмотр установленных полномочий шаблона с идентификатором 0:

onetemplate show 0

Пример вывода после выполнения команды:

TEMPLATE 0 INFORMATION
ID				: 0
NAME			: alse-171
USER			: simpleuser
GROUP			: another-group
LOCK			: None
REGISTER TIME 	: 07/14 09:41:49

PERMISSIONS
OWNER			: um-
GROUP			: u--
OTHER			: ---
CODE

В представленном примере в отношении шаблона 0 владелец simpleuser имеет полномочия типа USE и MANAGE. Пользователи в группе another-group имеют полномочия типа USE, а пользователи, которые не являются владельцами или не состоят в группе simpleuser, не имеют полномочий в отношении данного шаблона.

Изменение установленных полномочий для ресурса

Изменить установленные полномочия можно при помощи команды chmod с указанием идентификатора ресурса и числового кода полномочий.
В качестве идентификатора ресурса можно указать перечень идентификаторов, разделенных запятыми или диапазон идентификаторов (в качестве разделителя используются две точки — «..»).

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

  • владелец (owner);
  • пользователи группы (group);
  • остальные пользователи (others).

Каждое восьмеричное число знака определяет полномочия для соответствующей категории пользователей. Полномочия выражаются следующими значениями:

  • бит USE общее значение увеличивает на 4 (100 в двоичной системе);
  • бит MANAGE общее значение увеличивает на 2 (010 в двоичной системе);
  • бит ADMIN общее значение увеличивает на 1 (001 в двоичной системе).

Примеры

  1. Исходное состояние, пример вывода после выполнения команды:
    onetemplate show 0:
    ...
    PERMISSIONS
    OWNER			: um-
    GROUP			: u--
    OTHER			: ---
    CODE
  2. Установка полномочий в отношении шаблона с идентификатором 0:
    1. владельцу установить биты USE и MANAGE (разрешить применение и управление);
    2. пользователям группы установить биты USE и MANAGE;
    3. остальным пользователям установить бит USE.
      Для этого необходимо выполнить команду:
      onetemplate chmod 0 664
      Просмотр установленных полномочий, пример вывода после выполнения команды:
      onetemplate show 0:
      ...
      PERMISSIONS
      OWNER			: um-
      GROUP			: um-
      OTHER			: u--
      CODE
  3. Установка полномочий в отношении шаблона с идентификатором 0:
    1. владельцу установить биты USE и MANAGE (разрешить применение и управление);
    2. пользователям группы установить бит USE;
    3. остальным пользователям установить бит USE.
      Для этого необходимо выполнить команду:
      onetemplate chmod 0 644
      Просмотр установленных полномочий, пример вывода после выполнения команды:
      onetemplate show 0:
      ...
      PERMISSIONS
      OWNER			: um-
      GROUP			: u--
      OTHER			: u--
      CODE
  4. Установка полномочий в отношении шаблона с идентификатором 0:
    1. владельцу установить биты USE и MANAGE (разрешить применение и управление);
    2. пользователям группы снять все биты (отозвать все полномочия);
    3. остальным пользователям установить биты USE, MANAGE и ADMIN (разрешить применение, управление и администрирование).
      Для этого необходимо выполнить команду:
      onetemplate chmod 0 607
      Просмотр установленных полномочий, пример вывода после выполнения команды:
      onetemplate show 0:
      ...
      PERMISSIONS
      OWNER			: um-
      GROUP			: ---
      OTHER			: uma
      CODE

Установка полномочий по умолчанию

Настройка полномочий, устанавливаемых по умолчанию в отношении вновь созданных ресурсов, может выполняться следующим образом:

  • в целом для ПК СВ, используя параметр DEFAULT_UMASK в конфигурационном файле /etc/one/oned.conf;
  • отдельно для каждого пользователя, используя команду oneuser umask.

В этом случае для установки полномочий используется трехзначная восьмеричная маска (по аналогии с командой umask в ОС СН) — каждый установленный бит отменяет соответствующие полномочия для owner, group и other.
В таблице приведены примеры соответствия маски, используемой совместно с командой umask и числового кода полномочий, используемого совместно с командой chmod.

маска umaskчисловой код chmod

Полномочия

177600

um- --- ---

137640

um- u-- ---

113664

um- um- u--

Управление полномочиями в веб-интерфейсе ПК СВ

Просмотр установленных полномочий

Для просмотра полномочий, установленных для ресурса, необходимо в веб-интерфейсе ПК СВ перейти на вкладку Сведения страницы этого ресурса:

В представленном примере в отношении шаблона 0 владелец simpleuser имеет полномочия типа USE и MANAGE. Пользователи в группе another-group имеют полномочия типа USE, а пользователи, которые не являются владельцами или не состоят в группе simpleuser, не имеют полномочий в отношении данного шаблона.
Для изменения полномочий необходимо на странице ресурса во вкладке Сведения установить/снять соответствующие флаги.

Установка полномочий, присваиваемых по умолчанию пользователю

Настройка полномочий, присваиваемых по умолчанию пользователю в отношении вновь созданных ресурсов, в веб-интерфейсе ПК СВ выполняется следующим образом:

  1. В меню слева выбрать пункт СистемаПользователи.
  2. На открывшейся странице Пользователи выбрать необходимого пользователя.
  3. На открывшейся странице пользователя во вкладке Сведения в секции Атрибуты выполнить следующие действия:
    1. в левом поле ввести наименование атрибута: umask;
    2. в правом поле указать трехзначную восьмеричную маску;
    3. нажать кнопку +:

Управление полномочиями в отношении экземпляра ВМ

Полномочиями в отношении экземпляра ВМ управляет владелец — администратор ВМ. Администратор ВМ может открыть общий доступ к экземпляру ВМ для других пользователей, разрешить им просматривать и использовать ВМ. Для этого можно воспользоваться командой onevm chmod или веб-интерфейсом ПК СВ.

Примеры

  1. Исходное состояние, пример вывода после выполнения команды
    onevm show 0
    :
    ...
    
    PERMISSIONS
    OWNER
    : um-
    GROUP
    : u--
    OTHER
    : ---
    CODE
    В представленном примере в отношении экземпляра ВМ с идентификатором 0 владелец имеет полномочия типа USE и MANAGE. Пользователи в группе, которой принадлежит владелец, имеют полномочия типа USE, а пользователи, которые не являются владельцами или не состоят в группе, не имеют полномочий в отношении данного шаблона.
  2. Установка полномочий в отношении экземпляра ВМ с идентификатором 0:
    • владельцу установить биты USE и MANAGE (разрешить применение и управление);
    • пользователям группы, которой принадлежит владелец, установить биты USE и MANAGE;
    • остальным пользователям установить бит USE.
      Для этого необходимо выполнить команду:
      onevm chmod 0 664
      Просмотр установленных полномочий, пример вывода после выполнения команды:
      onevm show 0:
      ...
      PERMISSIONS
      OWNER		: um-
      GROUP		: um-
      OTHER		: u--
      CODE