В данной инструкции вкратце рассмотрены основные моменты по управлению сервером Mumble.
Прежде всего начнем с того, что обязательно нужно поставить галочку в поле "Advanced" в нижнем левом углу окна Configure - Settings. Только тогда появятся вкладки для управления группами и правами доступа.
Несмотря на наличие дополнительных веб-интерфейсов, в Mumble начиная с версии 1.2.0 администрирование целиком можно осуществлять из клиентской программы.
Рассмотрим подробнее функционал администратора на примере меню программы.
Меню "Server"
- "Ban lists" - здесь мы можем управлять списком банов - назначать бан по ай-пи, устанавливать период его действия (т.е. выдавать временный бан), удалять.
- "Registered Users" - просмотр списка зарегистрированных пользователей, смена их имен, удаление.
- "Information" - просмотр данных о сервере (используемая версия и ОС, ограничение на скорость передачи данных, потери пакетов и т.п.)
Управление пользователем
Вызывается нажатием на имени нужного пользователя правой кнопкой мышки.
- "Kick" - выкинуть с сервера.
- "Ban" - заблокировать данному пользователю доступ на сервер. Про то, где можно снять или изменить бан - было сказано выше.
- "Mute" и "Deafen" отвечают за глушение говорящего. К сожалению ваш покорный слуга не разобрался в отличиях этих опций друг от друга. Кто знает - проясните в комментариях к инструкции пожалуйста. Обратите внимание, что если вы намерены заглушить человека исключительно для себя - то используйте опцию "Local Mute". Если вы зашли на сервер как SuperUser - то с него нельзя снять глушение - редактировать данного пользователя нельзя.
- "Change Comment" - задать или изменить комментарий, который отображается во всплающем поле при наведении курсора на ник пользователя.
- "Register" - если пользователь не зарегистрирован на сервере - то этой опцией вы можете принудительно его зарегистрировать.
Управление каналом
Вызывается нажатием на названии нужного канала (или корневого, или в любом месте поля древа каналов) правой кнопкой мышки.
- "Add" - добавить новый канал. В описании канала допускается использование тегов HTML. В поле "Position" можно заранее задать порядок канала в общем списке (впрочем, возможно это будет удобнее и легче сделать уже после его создания - выделив нужный канал в общем списке каналов сервера, зажав левую кнопку мышки и перетащив его куда надо). Если поставить галочку в поле "Temporary", то канал будет создан временно и исчезнет в случае отсутствия на нем пользователей. Закрыть канал паролем можно только создав его вначале, а затем уже выбрав опцию редактирования.
- "Edit" - редактирование канала. Обратим внимание на поле "Password" - немного нелогично то, что возможность его заполнения доступна только при редактировании канала, и отсутствует на этапе его создания, но что поделаешь. Логика в использовании паролей в Mumble отличается не только этим. Пользователь при подключении на канал, закрытый паролем, не увидит окошка ввода пароля или сообщения о том, что нужно ввести пароль. Пароль для доступа на канал нужно вводить в меню "Server" - "Access Tokens" - жмем кнопку "Add", вводим токен (пароль), сохраняем. Все, программа запомнила наш пароль и теперь автоматически будет использовать его при подключении к запароленному каналу. Две другие вкладки, доступные при редактировании канала - "Groups" и "ACL" - требуют отдельного рассмотрения.
- "Link" - включение канала в группу активных каналов (виртуальный общий канал). Полезно при проведении массовых мероприятий (например, рейдов) когда участники рейд-группы общаются внутри своего канала, но благодаря линкованию слышат распоряжения командира (который и доджен провести линковку каналов).
- "Unlink", "Unlink All" - удаление канала из линкованной группы, или расформирование группы каналов (по завершению общего мероприятия).
Группы и права доступа. Наследственность групп и прав.
Система управления правами в Mumble очень гибка, но оттого и немного сложна для понимания.
И права, и группы в программе можно наследовать. Это означает, что состоя в определенной группе на родительском канале, пользователь автоматически зачисляется в ту же группу и с теми же правами и на созданном дочернем канале.
Одного и того же пользователя на каждом канале можно зачислять по разным группам. Одна и та же группа может как наследовать права с родительского канала, так и иметь свои специфичные полномичия для каждого отдельного канала. Всего этого достаточно, чтобы свести администратора с ума.
Поскольку по умолчанию права являются наследуемыми, то рекомендуется операции с правами проводить на уровне канала "Root" (совет для небольшого сервера, где все свои).
На вкладке "Group" мы можем выбирать группу, а ниже - ее участников.
В поле "Excluded members" мы можем указать пользователей исключаемых из участников группы на данном канале (это опция для дочерних каналов - имеет смысл для случаев вида "Вася и Петя админы, но Вася на этом канале - не админ").
В поле "Inherited members" указываются пользователи, которые перенесены в состав группы с родительского канала. Также в случае, если нужно исключить из состава группы для данного канала несколько пользователей - то удобнее выделить их в списке, а затем нажать внизу кнопку "Exclude" - и данные пользователи будут перенесены в колонку "Excluded members".
Наследуемость и наследственность можно отключить. Для того, чтобы отключить участников группы, переносимых с родительского канала, поставьте галочку около опции "Inherit". Для того, чтобы члены группы не переносились на создаваемые впоследующем дочерние каналы - поставьте галочку около опции "Inheritable".
И помните, что каждую группу можно редактировать на уровне каждого канала по своему.
И под конец - группа создается и удаляется на уровне канала. Это означает, что если вы создали группу на уровне канала "Снусмумрики", то на уровне рут-канала вы ее не увидите, но она будет создана на уровне каналов внутри канала "Снусмумрики" (которые потом можно вывести на уровень выше или наравне с бывшим родительским каналом). Удалить группу можно только при редактировании того канала, на котором эта группа была создана.
Таким образом при обилии групп можно запутаться и забыть, что на таком-то канале вами когда-то была создана группа "Альфа" или как называется канал, на котором таки можно будет наконец удалить группу "Гамма". Это не говоря уже о составе групп.
Вы думаете, что это сложно? Значит, вы еще не в курсе настройки прав доступа!
Права доступа задаются на вкладке "ACL". Про наследственность и наследуемость (передачу заданных настроек с родительского канала и распространение их на дочерние) вы уже в курсе. С настройками прав в этом плане все так же как и с группами - на каждом канале каждая группа наследует права доступа, заданные на самом высоком уровне - "Root". Поэтому для глобального управления правами на уровне сервера - всегда работаем с каналом "Root".
На каждом канале можно в дополнение к наследуемым правам задать свои отличия. Для этого выбираем нужный нам канал - Edit - ACL - затем жмем кнопку "Add". Выделяем добавившуюся группу (по умолчанию всегда добавляется группа "all") - меняем ее на ту, которая нам нужна (внизу окна в поле "Group" выбираем из общего списка групп), и далее выставлем права - какую опцию разрешить ("Allow") или запретить ("Deny") для данной группы на данном канале. Не обязательно указывать все опции.
Права можно формировать не только для группы, но и для какого-то определенного пользователя.
Права могут навешиваться программой автоматически при выполнении пользователем определенных действий: например, пользователь состоит в группе, которой запрещено редактировать права доступа, но разерещно создавать каналы. При создании пользователем канала на нем помимо наследования запрета группой пользователя править права, добавляется настройка для конкретного пользователя на доступ к правке этих самых прав в рамках заданного канала.
Для того, чтобы заданная схема прав не применялась для подканалов, нужно убрать галочку с опции "Applies to sub-channels".
Для того, чтобы заданная схема прав не действовала для данного канала (это имеет смысл если вы настроили какие-то права, которые должны работать например только для дочерних каналов) - нужно убрать галочку с опции "Applies to this channel".
Для отключения наследования прав выделите нужную их групп и снимите галочку с опции "Inherit ACLs".
Порядок сортировки и применения прав
В случае, если один и тот же пользователь является членом одновременно нескольких групп (т.е. на него воздействуют несколько схем прав доступа) идущее последующим значение перезаписывает последующее и порядок здесь зависит от расположения схем в списке "Active ACLs" - более нижняя схема перекрывает верхнюю. По умолчанию все пользователи - зарегистрированные и нет - состоят в группе "all" (схема @all) - это самая начальная группа. Затем идет "auth" - для зарегистрированных. Вот две группы, в которых по умолчанию уже состоит каждый зарегистрированный пользователь.
Поэтому имеет значение в каком порядке идут схемы в списке, и теперь стовится понятно, зачем присутствуют кнопки для перемещения схем вверх ("Up") и вниз ("Down").
Если вы не желаете, чтобы значения идущих ниже схем пимели возможность перекрыть заданные права доступа - то выставьте запрет около опции "Traverse" - именно она определяет - разрешать ли перезапись прав или нет. Эта перезапись разрешена на самом первом уровне - у группы "all".
Конструкций с такой гибкостью прав можно придумать немеряно, можно выписывать систему прав огромной сложности, для самых больших и сложноорганизованных сообществ. Но администратору сервера такого сообщества можно только посочувствовать.
Стоит отметить, что при создании прав они хоть и называются в соответствии с названием группы, но при удалении группы права, за нею зарепленные, не удаляются - и если вы вновь создатите группу с таким же точно названием, старые права автоматом к ней прицепятся.