Зарегистрированные пользователи на серверах попадают в группу по умолчанию @auth. Этой группе могут быть даны определенные права на сервере (часто, гораздо большие, чем незарегистрированным). Также, этих зарегистрированных пользователей можно объединять в группы или добавлять их отдельно в списках ACL для награждения их определенными правами.О списках ACL и их использовании можно почитать в посте viewtopic.php?p=1061#p1061 Права в списках ACL для одних и тех же групп рассматриваются сверху вниз. Т.е. если у нас на канале есть право для @all на вход, то если мы ниже добавим еще одну группу @all и запретим ей право на вход, то группа @all не будет иметь прав на вход на данный канал. О том как создать свой временный канал можно прочитать в посте viewtopic.php?p=716#p716 Токен доступа (обычно - пароль для доступа на канал).
Ранее мы уяснили, что токен доступа - это наша секретная фраза. Поэтому, токен доступа должен быть уникальным и достаточно сложным, чтобы его было практически невозможно подобрать. О токене доступа и его применении можно также почитать в ACL учебнике в посте viewtopic.php?p=1061#p1061 Токен доступа используется для разграничения прав на каналах. Токену доступа должна соответствовать специальная группа в списках ACL на канале, которая имеет определенные права (#<название токена>). И пользователи, у которых в клиенте добавлен определенный токен доступа, при заходе на сервер или канал - попадают под права определенной группы, соответствующей этому токену. Токен доступа нигде не запрашивается отдельно. В клиенте токен доступа добавляется в меню "Сервер" -> "Токен доступа". Нажмите "Добавить", введите токен (например "password") и кликните "OK". Он должен немедленно вступить в силу, предоставляя Вам все привилегии, связанные с этой группой токена. Чтобы установить токен доступа на канал - нам нужно его создать или отредактировать уже существующий (не важно постоянный или временный). Нажимаем правой кнопкой мыши (ПКМ) в том канале, где мы собираемся делать "подканал" и выбираем пункт всплывшего меню "Добавить". ("Подканал" - потому как основным нашим каналом является корень или корневой канал сервера. Т.е. все каналы на сервере в той или иной степени вложены в основной канал.) Вводим название канала и, при необходимости, комментарий и позицию канала (Начиная с версии 1.2.0 в Mumble можно сортировать каналы по числу позиции. Каналы с одинаковым значением позиции сортируются по алфавиту). Нажимаем Ок. Пользователь, создавший канал на сервере, автоматически заносится в группу @admin в списках ACL для этого канала. Обычно, для этой группы на сервере разрешены все права. Следовательно, у Вас есть все права ACL на Вашем канале. По умолчанию, вновь созданный канал лишь наследует все группы с их правами от родителя (их Вы сможете увидеть при редактировании канала на вкладке ACL). Рассмотрим пару примеров: 1. Токен доступа как пароль для входа на канал. Для того чтобы добавить токен доступа на вход на канал - нужно перейти к редактированию своего канала. Для это ПКМ по своему каналу и выбираем пункт меню "Редактировать". На вкладке Свойства появилось поле Пароль. Вводим в это поле пароль. Нажимаем Ок. Теперь, чтобы попасть на канал пользователям нужно добавить этот "пароль" в своем клиенте в список Токенов доступа (меню "Сервер" -> "Токен доступа"). Токен доступа не спрашивается сервером при заходе на канал. Сервер автоматически проверяет в клиенте наличие токена доступа. И если Ваших прав недостаточно для входа - сервер так и сообщит Вам. В остальных случаях - при совпадении токена с группой токена - вы будете награждены соответствующими правами (в данном случае - на вход). Поле "Пароль" в Свойствах канала разработчики внесли специально, чтобы облегчить нам использование данной функции. Давайте посмотрим - что же произошло - на более глубоком уровне. Если мы перейдем на вкладку "Списки контроля доступа (ACL)", то увидим две добавленные группы для этого канала: 1. @all (все пользователи) - которой запрещены права Вход, Говорить, Связывать канал, Шепот (или Альтернативный разговор), Сообщение. 2. @#<Ваш пароль> - которой разрешены права Вход, Говорить, Связывать канал, Шепот, Сообщение. Т.е., добавив пароль в соответствующее поле, мы запретили эти права для всех и разрешили их только для тех, у кого в клиенте в списках Токена доступа будет добавлен <Ваш пароль>. Рекомендуем снять для группы @all запрет на право Говорить. Иначе, при переподключении на этом канале, сервер будет забирать право говорить у всех. Заметим! что порядок расположения групп в списке очень важен, т.к. права рассматриваются сверху вниз. Если мы поменяем группы местами, то права группы @#<Ваш пароль> потеряют смысл, т.к. ниже будет находиться группа "Все", которой мы разрешим права, запрещенные выше. 2. Токен доступа как доступ к определенным правам на канале. Перейдем к редактированию канала. На вкладке Списков контроля доступа (ACL) нажмем кнопку "Добавить" - в списках групп появится группа @all. В поле "Группа" удалим слова "all" и напишем "#<токен доступа>" (без кавычек и скобок), нажмем Enter. Группа @all изменится на @#<токен доступа>. Теперь мы можем наградить эту группу определенными правами (например, Изменять ACL, Глушить, Связывать канал...). Для применения изменений нажимаем Ок. Чтобы пользователи смогли воспользоваться правами этой группы, им достаточно добавить этот <токен доступа> в списки своих токенов. Описанное выше объясняет - почему Токен доступа должен быть уникальным и достаточно сложным. Представьте ситуацию, если кто-то на канале добавил Токен доступа на вход - 12345. А кто-то в своем канале для этого же токена разрешил изменять ACL. Зашедший на этот канал пользователь с токеном доступа 12345 сможет натворить Вам дел... Т.е. список токенов доступа в клиенте один, а каналы, на которые он может подойти - все, которые содержат его в списках ACL. Ранее мы уже описывали схему передачи прав от пользователя SuperUser к группе или к отдельному пользователю в посте viewtopic.php?p=942#p942 Итак, Вы (или кто-то другой) создали сервер и успешно его запустили.Администрирование сервера, в основном, происходит за счет пользователя с ником SuperUser. Именно этот пользователь по-умолчанию обладает всеми правами на сервере (на редактирование списков ACL, создание/изменение/удаление каналов и групп, кик и бан пользователей, редактирование и удаление регистраций пользователей и т.д.)Для того чтобы подключиться с правами пользователя SuperUser нужно при подключении к серверу ввести его ник (SuperUser - регистрозависимо!), затем пароль (либо создать закладку в Избранных с данными для подключения к серверу и ником SuperUser)Установить пароль пользователю SuperUser можно несколькими способами, описанными в посте viewtopic.php?p=70#p70Если Вы арендуете сервер, то, возможно, Вам уже сказали данные для подключения к арендуемому серверу и пароль от пользователя SuperUser. В некоторых случаях, администрирование сервера с помощью СуперЮзера неудобно, т.к. данный пользователь по умолчанию заглушен и не может говорить в канал (но может печатать ).Тем более, находиться одновременно под пользователем SuperUser и своим пользователем - неудобно. А администрировать сервер в реальном времени бывает крайне необходимо. В этом случае, учитывая, что мы проделали все действия к настройке Mumble, создании и сохранении сертификата в надежном месте, рекомендуется следующий порядок действий: 1. Создать закладку пользователя в Избранных и первоначально подключиться к серверу с ником своего пользователя и зарегистрировать свой ник на сервере. 2. Создать закладку администратора в Избранных и подключиться из под пользователя SuperUser и отредактировать списки ACL корневого канала, добавив свой пользовательский ник в группу admin (на вкладке Группы) Более подробно о списках ACL и значении прав Вы сможете прочитать в посте viewtopic.php?p=1061#p1061Таким образом, мы передали права SuperUser своему пользователю, который может разговаривать и в то же время, обладая правами SuperUser, администрировать сервер. Теперь мы можем зайти своим пользователем на сервер и создать необходимые каналы, добавить к каналам группы и пользователей в них, раздать необходимые права по спискам ACL и в целом администрировать весь сервер. Например,Прочтите, если что будет непонятно - спрашивайте.viewtopic.php?p=1061#p1061Пользователи на сервере регистрируются самостоятельно на свой сертификат.Группы канала добавляются на вкладке "Группы", там же добавляются зарегистрированные пользователи в группы.Списки контроля доступа для канала настраиваются на вкладке ACL.Таким образом, Вы можете начать с корневого канала 1. Добавить свой зарегистрированный ник в группу admin на вкладке Группы из под пользователя SuperUser. 2. Добавить группы сервера и добавить в них зарегистрированных пользователей сервера. 3. На вкладке ACL раздать права группам на сервере. Затем Вы можете создать подканалы корневого канала уже со своего пользователя.В этих каналах Вы также можете добавить группы (свои или наследуемые) и права для этих групп.Запомните - права вычисляются сверху вниз.Например, структура такая: ---------------------- - Root (группы admin и своя группа moder)
- Клан
- Группа1 (своя группа clan1 и группа cl1)
- Группа2 (своя группа clan2)
- Гостиная
----------------------
Выставим ACL для корневого канала root: all -Вход -Говорить -Сообщение -Применить к подканалам admin +все права moder +Говорить +Глушить +Сообщение +Кикать +Банить +Регистрировать пользователя Таким образом, мы запретили всем право Вход, Говорить, Сообщение для корневого канала (правило для all НЕ наследуемое иНЕ применяется для подканалов - соответствующая галка на вкладке ACL) Затем для группы admin мы разрешили все права. И для группы moder Говорить, Глушить, Сообщение, Кикать, Банить, регистрировать пользователя Зарегистрированные пользователи в группах будут иметь соответствующие права.
Для канала Клан: all -Вход -Сообщение -Шепот auth +Вход +Сообщение +Шепот
Таким образом, запретили все пользователям канала Клан Вход, писать сообщение, шептать/кричать И разрешили это же только зарегистрированным пользователям.
Для канала Группа1: clan1 +Говорить +Входить +Сообщение +Шепот cl1 +Говорить +Входить +Глушить +Сообщение +Создавать канал
Для канала Группа2: clan2 +Говорить +Входить +Сообщение +Шепот cl2 +Говорить +Входить +Глушить +Сообщение +Создавать канал Таким образом, мы разрешили пользователям канала Группа1 (clan1) Входить и писать Сообщение в своем канале,а пользователям cl1 - еще и глушить и создавать подканалы в пределах своего подканала (Группа1). Тоже самое, но для канала Группа2.
Для канала Гостиная: all +Вход +Говорить +Сообщение +Создавать временный канал Таким образом, мы разрешили всем пользователям сервера заходить в канал Гостиная, там разговаривать, писать сообщения и создавать свои временные подканалы. Т.к. к серверу может подключиться любой пользователь, знающий пароль для подключения. А зарегистрированные пользователи смогут подключаться без пароля (это логично).То, чтобы, после смены пароля для подключения к серверу, запретить зарегистрированному пользователю, не знающему новый пароль, подключиться - нужно просто удалить его регистрацию с сервера (меню "Сервер" - "Зарегистрированные пользователи"). Также Вы можете ограничить в правах любую группу пользователей с помощью списков ACL.Но регистрация определенных пользователей Администратором не предусмотрена в клиенте и авторизация основана на сертификатах. Поэтому, чтобы дать возможность подключаться к серверу только определенным пользователям, не меняя при этом пароль дляподключения к серверу - можно немного извратиться... если Вы хорошо усвоили авторизацию по сертификату (это важно!):Вы можете вообще никому не сообщать пароль для подключения к серверу. Чтобы дать возможность пользователям подключиться - (не забудьте сохранить свой сертификат) Вы: 1. Отключаетесь от сервера 2. Самостоятельно создаете для пользователя новый сертификат (с его логином/мылом) 3. Подключаетесь и регистрируетесь на сервере с определенным для пользователя ником 4. Сохраняете сертификат и отправляете его пользователю, чтобы он смог его открыть с помощью Мастера сертификатов и подключиться к серверу. Затем опять отключаетесь и проделываете тоже самое уже для другого пользователя... и т.д. Таким образом, пользователь сможет подключиться к серверу только с определенным ником и сертификатом. Если Вы вдруг решите запретить ему доступ - Вы просто удаляете его регистрацию с сервера.
|