Типы привилегий
По оригинальному названию привилегии (по её префиксу) можно определить её тип. Сразу после префикса идет название привилегии, по которому вы можете догадаться о том, что она делает.
Логические (boolean) привилегии
Они могут иметь только два значения: true или false.
Префикс у логических привилегий "b_".
b_virtualserver_modify_name
В этом примере привилегия управляет возможностью редактирования названия сервера. При установленном значении true вы сможете его редактировать. При значении false (что аналогично пустому значению) — не сможете.
Числовые (integer) привилегии
Значение может быть только числом.
Префикс у числовых привилегий "i_".
i_channel_max_depth
В этом примере привилегия управляет "глубиной" вложенности структуры канала, в пределах которой их можно создавать. При значении "0" (или пустом) вы сможете создавать только каналы в корне сервера. При значении "1" разрешено создавать подканалы. При значении "2" — под-подканалы, и т.д.
Привилегии "Power" и "Needed Power"
Являются подвидом числовых привилегий. Они всегда представлены парой: одна "power" и другая "needed power".
Вы сможете выполнить действие только в том случае, если ваш "power" больше или равен ассоциированной с ней "needed power" у того, на кого направлено ваше действие.
Префикс у этих привилегий "i_", а в названии содержится "power" или "needed power".
i_client_kick_power i_client_needed_kick_power
Когда вы хотите кикнуть пользователя, система привилегий сравнивает ваш "kick power" с "needed kick power" пользователя, которого вы пытаетесь кикнуть. Если ваш "power" больше или равен, то кик выполнится успешно. Если же ваш "power" меньше "needed kick power" пользователя, то вы получите ошибку.
По-сути можно выстроить иерархическую систему прав на сервере, при которой, например, модераторам выдается только разрешение для кика гостей, а для полноценных администраторов — разрешение на кик любого из пользователей сервера.
Grant привилегии
Каждая привилегия имеет сопоставленную с ней i_needed_modify_power_*. Но вместо того, чтобы добавить эти сопоставленные привилегии в общий список, они были добавлены в виде отдельного поля Grant, справа от каждой привилегии.
Например, привилегия b_client_ban_create ассоциирована с i_needed_modify_power_client_ban_create. Но по факту отдельную привилегию i_needed_modify_power_client_ban_create вы не найдете — она скрыта в поле Grant. Поэтому они называются Grant привилегиями.
Эти Grant привилегии позволяют управлять тем, какие привилегии разрешены для назначения пользователям, а какие запрещены. Это ключ к редактированию системы привилегий, и как правило, Grant привилегии предназначены для администраторов.
Подробнее об этом описано в разделе Кто может изменять привилегии.