Привилегии со значением типа Integer — КиберПедия 

Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...

Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...

Привилегии со значением типа Integer

2022-10-03 32
Привилегии со значением типа Integer 0.00 из 5.00 0 оценок
Заказать работу

Эти разрешения принимают любые целые числа в качестве значений.

Пример:

i_channel_max_depth

Имя разрешения говорит нам, что разрешение определяет насколько «глубокие» структуры канала вы можете создать.

Если значение установлено на 0 (Ноль), это означает, что вы можете создать только каналы верхнего уровня.

Если оно установлено на 1, вы также можете создавать подканалы.

Установив значение 2 у вас есть разрешение создавать под-под-каналы и т.д.

Как и со многими разрешениями, которые не имеют никакого логического предела, i_channel_max_depth также имеет особое значение -1, которое определяет отсутствие лимита максимальной глубины для структуры каналов.

2.3. Разрешения типа Power (Сила) и Needed_power (Необходимая сила)

Эти привилегии являются частным случаем разрешений типа Integer.

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

Действие будет применено тогда и только тогда, когда параметр power больше или равен параметру needed_power.

Пример:

i_client_kick_power

i_client_needed_kick_power

Если вы хотите кикнуть клиента с сервера, система разрешений будет сравнивать ваш kick_power с needed_kick_power у данного клиента. Если у вас есть такое же или большее значение power, чем needed_power у данного клиента, тогда вы сможете кикнуть этого клиента. Если же вы имеете меньшее значение силы, кикнуть клиента не получится.

В результате это дает нам возможность гибко настраивать группы для определенных целей, например, можно предоставить группу для администрации вашего сервера, у которой будут разрешения на кик исключительно гостей с сервера, но не более того.

Далее будут даны понятия дополнительных параметров для разрешений, которые подробно будут объяснены на конкретных примерах, начиная со следующей главы.

3. Флаг « Skip » (Пропустить)

Это дополнительное значение для разрешения, которое позволяет обойти принцип старшинства уровней привилегий,и указывает системе привилегий, что если помеченное флагом значение разрешения из всех предложенных имеет не самый высокий уровень привилегии, то именно это значение должно быть выбрано как результирующее.

Из двух одинаковых разрешений со флагом «Skip» будет выбрано то, значение которого наибольшее, по принципу отношения разрешений на одном уровне.

4. Флаг « Negate » (Свести на нет)

Это дополнительное значение для разрешения, которое позволяет обойти принцип отношения разрешений на одном уровне,и указывает системе привилегий, что если помеченное флагом значение разрешения из всех предложенных самое минимальное, то именно это значение должно быть выбрано как результирующее.

Флаг «Negate» не изменяет свой принцип работы для разрешений, помеченных флагом «Skip», если эти разрешения находятся на одном уровне.

Если флаг «Skip» установлен на разрешении уровнем выше, то именно это значение разрешения будет результирующим.

5.Разрешения типа « Grant »

Каждое разрешение имеет связанный с ним i_needed_modify_power_? (? — Название разрешения), например b_client_ban_create имеет связанное с ним разрешение, которое называется i_needed_modify_power_client_ban_create. В интерфейсе клиента разрешения типа needed_modify_power отображаются как дополнительное значение «Grant» для данной привилегии, а не в качестве самостоятельного разрешения в системе привилегий.

Дополнительный параметр «Grant» дает разрешение клиенту на изменение первоначального значения конкретной переменной на любое, ограниченное только типом переменной.

Разрешения типа «Grant» регулируют, какие и какой силы привилегии клиенту разрешено предоставлять или отбирать у групп, каналов или клиентов, иявляются ключом к модификации системы разрешений, потому изначально предоставлены исключительно администраторам.

О том, как и пользоваться данным типом, будет объяснено в отдельном разделе.

 

Уровни Привилегий (С примерами)

Способ получения привилегий клиентом определяется через систему 5 (Пяти) уровней. Каждый уровень может перезаписать разрешения предыдущего уровня. Если значение разрешения не было предоставлено ни на одном из этих 5 уровней, то оно будет равняться 0 (Нулю) или FALSE в зависимости от типа переменной.

Подробнее об уровнях:

Уровень 1: Группы сервера

Уровень 2: Специальные привилегии клиента

Уровень 3: Специальные привилегии канала

Уровень 4: Группы каналов

Уровень 5: Специальные привилегии канала и клиента

Пример:

Вы находитесь в группе сервера «Guest» (Ур. 1), которая имеет разрешение b_channel_modify_name значение FALSE.

Но вы также состоите в группе канала «Channel Admin» (Ур. 4) которая имеет b_channel_modify_name значение TRUE.

Так как группа каналов более высокого уровня, чем группы серверов, то вы можете изменить имя конкретного канала в котором вы состоите в группе «Channel Admin».

Теперь мы обсудим каждый уровень и их особые свойства в деталях.

Уровень 1: Группы сервера

Каждый клиент является частью одной или нескольких групп серверов. Эти группы серверов могут содержать любое количество разрешений, которые вы получаете

когда становится частью группы. Так как вы можете быть частью нескольких групп

одновременно, и так как-то же самое разрешение может предоставляется в нескольких из этих групп. Система привилегий использует лучшее или наивысшее значение разрешения из всех доступных для него в качестве результата.

Так как каждый клиент всегда часть, по меньшей мере, одной группы серверов, есть специальная группа, которая может быть настроена в конфигурации сервера, называется

«DefaultServerGroup» (Группа по умочанию). Когда новый (ранее неизвестный) клиент присоединяется к серверу, он автоматически становится членом этой группы.

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

Пример:

Допустим, вы являетесь членом трех групп сервера: «Admin Server», «ClanLeader» и «WarOrganizer».

«Admin Server» имеет i_client_kick_power = 50.

«Clan Leader» имеет i_client_kick_power = 100.

«WarOrganizer» не имеет i_client_kick_power (Если параметр не задан он равен 0).

В результате чего на Ур. 1 для вас i_client_kick_power будет равен 100, так как это самое высокое значение, которое вы имеете от всех групп сервера.

Иногда вы можете захотеть создать новую группу, что негативно влияет на клиентов, которые помещаются в нее. Например, создадим группу с названием «Sticky» (Липкий), которая запрещает клиенту перемещение по каналам, или группу с названием «Silent» (Тишина), которая удаляет привилегии использовать голосовой чат. Чтобы это работало, нам понадобится флаг «Negate».

Если вы являетесь членом группы, которая имеет разрешение c флагом «Negate», вы не будете получать самое высокое значение этого разрешения, а наоборот, получите помеченное флагом значение, при условии, что оно меньше остальных.

Пример:

Вы создали группу сервера под названием «Sticky». Она содержит только одно разрешение:

Для i_channel_join_power установлено значение -1, и флаг «Negate» применяется к этому разрешению.

Теперь, если я предоставить эту группу любому клиенту, он не сможет больше перемещаться по каналам.

Это также работает, если клиент имеет разрешение i_channel_join_power с неотрицательным значением.

Причина прекращения возможности переключения каналов кроется в том, что обычно канал имеет разрешение i_channel_needed_join_power, которое, даже если не установлено, задается как 0 (Ноль).

Так как -1 < 0, то клиент данной группы не сможет присоединиться к каналу.

Так как серверные группы это Ур. 1 привилегий, вполне возможно, что они будут перезаписаны привилегиями более высокого уровня.

Поскольку это так, иногда желательно предотвратить перезапись разрешениями групп каналов (Ур. 4), например, есть флаг «Skip».

Если разрешение в любой группе сервера (Ур. 1) или в специальной привилегии клиента (Ур. 2) имеет флаг «Skip», это разрешение не будет изменено любым перекрытием разрешений группами каналов (Ур. 4) или специальными привилегиями канала (Ур. 3).

Пример:

Как администратор вашего сервера вы не хотите, чтобы группа канала ограничивала ваши разрешения группы «Admin Server» в каком-либо плане.

Путем добавления флага «Skip» все разрешения в этой группе сервера вы убедитесь, что независимо от значений разрешений группы канала, вы останетесь с разрешениями группы сервера «Admin Server», т.е. группа канала не окажет никакого влияния на ваши способности.


Поделиться с друзьями:

История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...

История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...

Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ - конструкции, предназначен­ные для поддерживания проводов на необходимой высоте над землей, водой...

Типы оградительных сооружений в морском порту: По расположению оградительных сооружений в плане различают волноломы, обе оконечности...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.015 с.